初学 redux,目录不知道怎么建 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zqlcrow
V2EX    React

初学 redux,目录不知道怎么建

  •  
  •   zqlcrow 2023 年 4 月 18 日 3107 次点击
    这是一个创建于 1035 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看教程,是:
    /store/index.ts
    /store/modules/a.ts
    /store/modules/b.ts

    a.ts 和 b.ts 中,分别有各自的 action,reducer 。 这样的目录结构。


    我以前做 App 的习惯相当于是:
    /store/index.ts
    /modules/A/a.ts 、A.modules.scss 、A.tsx...
    /modules/B/b.ts 、B.modules.scss 、B.tsx...

    喜欢把和 A 有关的东西,尽量都塞在 A 里面。
    不过毕竟其实 App 没有这个 /store/index.ts 。


    前者的优势在?
    单纯的习惯问题?

    第 1 条附言    2023 年 4 月 19 日
    在各位的一致反对下,把教程中的 redux 换成了 zustand 。

    目前改成使用 zustand 。
    14 条回复    2023-05-04 20:54:35 +08:00
    zqlcrow
        1
    zqlcrow  
    OP
       2023 年 4 月 18 日
    举个例子:
    购物车。



    1 、购物车相关的代码,分别分散在:
    actions/cartActions.js
    components/Cart.js
    reducers/cartReducer.js


    2 、我多年 app 的习惯是,购物车相关的代码,尽量全部在 cart 模块(目录)中。
    cart/cartActons.js
    cart/cartReducers.js
    cart/Cart.js
    sweetcola
        2
    sweetcola  
       2023 年 4 月 18 日
    现在官方是推荐使用 [RTK]( https://redux-toolkit.js.org/usage/usage-guide),React-Redux 已经不是推荐使用的方式了。

    目录只要能通过名称看得懂这个目录里装着什么就可以了。

    我的话是直接
    /redux/store.ts
    /redux/slice/*Slice.ts
    shaozelin030405
        3
    shaozelin030405  
       2023 年 4 月 18 日
    直接 reducer ,不需要 action 。之后引入 redux-saga ,可以 reducer 一起放 effect
    hervey0424
        4
    hervey0424  
       2023 年 4 月 18 日
    直接用 mobx 吧, 对 ts 支持更好
    wu67
        5
    wu67  
       2023 年 4 月 18 日
    建议 recoil. 概念少, 使用简单. 我主用 vue 的, 去年随便看看文档就能开写了.

    https://recoiljs.org/zh-hans/docs/introduction/core-concepts
    zhwithsweet
        6
    zhwithsweet  
       2023 年 4 月 18 日 via iPhone
    jotai zustand. Redux 千万别用
    sl0000
        7
    sl0000  
       2023 年 4 月 18 日
    我看 redux 都头疼
    ruoxie
        8
    ruoxie  
       2023 年 4 月 18 日 via iPhone
    求求别再用 redux 了,为什么想不开
    hgaogao
        9
    hgaogao  
       2023 年 4 月 18 日 via iPhone
    @zhwithsweet jotai 都不行吗?听说挺简洁的呀?有什么说法吗?
    zhwithsweet
        10
    zhwithsweet  
       2023 年 4 月 18 日
    @hgaogao 我的断句问题;用 jotai 或者 zustand; 千万别用 redux (redux 极其难用
    linkopeneyes
        11
    linkopeneyes  
       2023 年 4 月 18 日
    没什么必要用 redux 除非是老项目维护,其实如果不在乎性能直接 content 就好了,什么库都还是要学概念
    zhoupeng199
        12
    zhoupeng199  
       2023 年 4 月 19 日
    为啥要用 redux 这么难用的东西,建议 Mobx ,天生面向对象编程
    karott7
        13
    karott7  
       2023 年 4 月 19 日
    看到这些状态库就头大,一堆概念,我现在都是用 React.createContext + immer 自己封装下,全局一个 Context ,业务使用独自的 Context ;
    个人看法,我认为自从 react-router-dom 带来 data-router 功能之后,loader + useLoaderData + useRouteLoaderData 的组合可以直接宣告状态库死亡了,而且 react@18 不是也增加了啥状态管理功能么
    humbass
        14
    humbass  
       2023 年 5 月 4 日
    我是 6 年的 vuer ,第一次尝试用 react 做完一个项目,记得刚开始配置 redux ,花了 1 天基本的 demo 都没跑通,Jotai 基本上 几分钟之内就可以上手。

    我觉得阻挡大部分 vue 用户进入 react 的都是这些基础的东西没完善,或者说脚手架做的不好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1805 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 12:17 PVG 20:17 LAX 04:17 JFK 07:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86