V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maxssy
V2EX  ›  前端开发

有多少 React 项目是用到 redux 的?

  •  
  •   maxssy · 2021-03-03 13:03:25 +08:00 · 2243 次点击
    这是一个创建于 1150 天前的主题,其中的信息可能已经有所发展或是发生改变。

    真的有那么多项目由组件间通信的需求吗? 用 context 不好吗?

    8 条回复    2021-03-10 08:20:58 +08:00
    fengfuliu
        1
    fengfuliu  
       2021-03-03 13:16:06 +08:00
    React 项目那么多 肯定有部分项目是比较复杂的啊 再者当开发编辑 /撤销一些功能的时候也很好用
    redux 更多的是一种思想 而且用起来也没那么麻烦 麻烦的是用的时候用 react-redux/redux-thunk 都用的时候新手容易混吧 感觉题主是在看面试资料然后看到 redux 相关的知识点看了觉得复杂然后有这个问题的
    ericls
        2
    ericls  
       2021-03-03 13:21:40 +08:00 via iPhone
    这几年对它的需求越来越少 因为有了内置的 reducer 而且 hooks 里面 context 也越来越好用了。 但是它对 react 还是很有贡献的。

    用 context 你需要注意一个问题 如果你的 context 是个 mutable object 只要其中一个 value 变了所有 consumer 都会 re-render. 这个时候你可以写一些 selector 来规避这个问题 这个时候你基本上就自己写了半个 redux 了. 当然你也可以有别的办法
    noe132
        3
    noe132  
       2021-03-03 13:22:41 +08:00 via Android
    mobx 不香么
    PeakFish
        4
    PeakFish  
       2021-03-03 13:24:43 +08:00
    好多应用,根本不需要那么复杂,瞎搞整的网站 js 很大,对我来说 event bus 更好用,几行代码
    love
        5
    love  
       2021-03-03 13:30:02 +08:00
    我第一个项目是用 redux,以后发现这库简直有点可笑,改数据结构方式太原始可怜了,后来用 immer 自制了一个
    yyfearth
        6
    yyfearth  
       2021-03-03 13:38:42 +08:00
    有了 useContext/useState/useReducer 对 redux 的需求减少了很多
    但是项目已经开始几年了 而且就算是新项目 往往也会用就项目的框架
    不管怎样稍微大一点的项目 redux 基本上是标配 而且熟悉 react 的人往往都接触过 redux
    mobx 相对小众一点 但是对于 TS 的项目 貌似比较欢迎
    weixiangzhe
        7
    weixiangzhe  
       2021-03-04 10:25:19 +08:00
    确实没有必要,而且我看大家用 redex 都是用来发 effect,拉接口啥的,除非你们一定要上 ssr,否则没有必要,带来的问题比不用 redux 的多。
    我认为一般要用 redux 是复杂场景,需要用到状态回溯定位问题的那样,也就是说没有用 redux dev-tool 也就白用了。我们一般做业务类项目的,你说它大吧,也挺大,复杂却没有,也就是页面多一点。这样系统需要存全局只有用户信息和系统配置类的数据, 再加上现在 hooks 也一堆的 swr 的方案,拉数据比 redux 之类的全局好太多。
    我个人认为复杂场景是做编辑器,比如整个思维导图,low code 编辑器,这样是一定要上 redux, 没有状态回溯完全不能用。
    kwrush
        8
    kwrush  
       2021-03-10 08:20:58 +08:00
    redux 出的早啊,你现在看当然会觉得没必要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2822 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:48 · PVG 22:48 · LAX 07:48 · JFK 10:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.