• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cszchen
V2EX  ›  程序员

大型 React 项目的所有数据源都需要用 Redux 管理吗

  •  
  •   cszchen · Jan 19, 2018 · 8684 views
    This topic created in 3216 days ago, the information mentioned may be changed or developed.

    公司的项目比较复杂,Web 端用 React 开发,所有数据源都采用 Redux 管理。

    疑问:Redux 难道不是为了管理复杂的、需要在多个组件内共用的数据的吗?

    Supplement 1  ·  Jan 19, 2018

    我确定我们的项目是需要 Redux 的 现在所有的数据都是通过 Redux 来管理的,并且我是没法取改变的

    只是想探讨,请教一下大家,解除心头疑惑。其实不论是什么结论都没卵用,老大说怎么搞就怎么搞。

    33 replies  •  2018-07-24 13:08:59 +08:00
    swirling
    swirling
    Jan 19, 2018❤️1
    1
    这叫 redux 原教旨主义, 有一些对于组件的 local state 就存组件内部吧, 比如 active tab 一类的. 全丢 redux 也有好处, 就去 redux 找就行了. 但是会导致组件没了 redux 就凉了, 不能灵活切换其他方案.
    song4
    song4
    Jan 19, 2018❤️1
    2
    开发界始终在做的一件事就是强调“隐藏”的重要性。我内部的数据我自己管理,你不该知道的别知道。
    song4
    song4
    Jan 19, 2018❤️1
    3
    同意 @swirling 的说法,这叫 redux 原教旨主义,为了用它而用它,你说这不是欠吗。
    k9982874
    k9982874
    Jan 19, 2018
    4
    redux 简直反人类,看看 mobx 吧,已经切换到 mobx,爽的一 B
    cszchen
    cszchen
    OP
    Jan 19, 2018
    5
    @swirling
    @song4 也就是多个组件共享的数据由 Redux 管理,其它的还是组件自己管理?
    learnshare
    learnshare
    Jan 19, 2018
    6
    用人能管理的数据,就别依赖其他库
    Redux 的逻辑 + 组件逻辑 + 业务逻辑,看起来比较头疼
    respect11
    respect11
    Jan 19, 2018❤️4
    7
    鲁迅曾经说过:
    “如果你不知道是否需要 Redux,那就是不需要它。”
    srx1982
    srx1982
    Jan 19, 2018
    8
    @respect11 鲁迅还行。。
    feverzsj
    feverzsj
    Jan 19, 2018
    9
    react 的数据更新逻辑太 2b,所以有来了个 redux,结果代码越来越乱
    zenxds
    zenxds
    Jan 19, 2018
    10
    mobx + 1
    magicdawn
    magicdawn
    Jan 19, 2018 via iPhone
    11
    @respect11 鲁迅说 我没说过这句话 别找我背锅
    magicdawn
    magicdawn
    Jan 19, 2018 via iPhone
    12
    优先考虑放组件内部 然后设计到共享数据 提升层级 直接提到 redux store
    chmlai
    chmlai
    Jan 19, 2018
    13
    是的
    cctv1005s927
    cctv1005s927
    Jan 19, 2018
    14
    『如果你不知道你是否需要 Redux,那你就别使用它。』
    tyrealgray
    tyrealgray
    Jan 19, 2018 via Android
    15
    Redux 的特点是写起来麻烦,调试起来很方便
    otakustay
    otakustay
    Jan 19, 2018
    16
    Redux 管理“多个组件内共用的数据”这个论断绝对正确,但有一点需要注意,就是这个“多个组件”事实上不是“组件类型”,而是“组件实例”,如果一个组件的多次 mount (离开这个页面了,又回来了)也需要共享这个数据,那他也得在 redux 里

    其它情况,我绝对推荐 local state 的应用
    zgl2007dj
    zgl2007dj
    Jan 19, 2018
    17
    使用 redux 之后会有增加人手的需求 ,团队大了就可以做“复杂”的应用了,🤫。
    zachguo
    zachguo
    Jan 19, 2018
    18
    感觉最适合 redux 的是网页版 photoshop 这种工具型 web app,,,
    假如只是简单树状结构页面(即便项目很大)纯 react 加一些 HOC 就够了。
    murmur
    murmur
    Jan 19, 2018
    19
    个人很 naive 的理解,如果一个东西的状态多到必须用 redux 这种专门的框架解决状态管理问题,在设计、体验上肯定有挑的出来的问题
    state 多在以前可以通过划分页面、向导、简化需求解决,另外页面多、功能多不代表复杂,若干个小模块互不交集只能是大
    我们的一个 web 应用还在用事件
    我的观点,状态机在大学的时候就是考点里的难点,这东西学起来就不易,想写出好的状态更是要功底
    shuson
    shuson
    Jan 19, 2018
    20
    欢迎来 angular 大家庭
    sunnygaofan
    sunnygaofan
    Jan 19, 2018 via iPhone
    21
    mobx+1 爽的不行不行的
    sunnygaofan
    sunnygaofan
    Jan 19, 2018 via iPhone
    22
    复杂点还可以用 mobx state tree 确实比 redux 好用很多
    kenshinhu
    kenshinhu
    Jan 19, 2018
    23
    。。。。其实最反人类是 flux
    wengjin456123
    wengjin456123
    Jan 19, 2018 via Android
    24
    我觉得可以用…我是用了
    kingwl
    kingwl
    Jan 19, 2018 via Android
    25
    理论上来说是全部都要由 redux 管理的 (elm
    但是为了方便 有些组件的 内部 状态可以扔在 state 里面 也就是把组件本身看做是原子的
    lightening
    lightening
    Jan 19, 2018 via iPhone
    26
    都可以。决定了一直贯彻就好。local state 也用 redux 的好处是调试方便,用了 dev tools 可以方便的查看状态和数据。
    guiguan
    guiguan
    Jan 19, 2018 via iPhone
    27
    建议 mobx 或者严格一些的 mobx-state-tree
    vardarling
    vardarling
    Jan 19, 2018
    28
    mobx 爽的不要不要的
    23wEJhKrPYz2uRF5
    23wEJhKrPYz2uRF5
    Jan 20, 2018
    29
    刚开始我也是很尊重 redux 的一个中心 state 的原则。后来感觉真的麻烦且看不出必要性。然后就去他妈的怎么方便怎么来。
    sudowang
    sudowang
    Jan 20, 2018
    30
    mobx +1
    redux 没看懂
    fuermosi777
    fuermosi777
    Jan 20, 2018
    31
    mobx + 1
    Justin13
    Justin13
    Jan 22, 2018 via Android
    32
    redux 真好用。源码也没多少。函数式爽到。
    Naturel
    Naturel
    Jul 24, 2018
    33
    store 就像一棵果树,不同枝干上面有不同的水果,想吃苹果就去摘苹果,想吃香蕉就摘香蕉。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1011 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 18:59 · PVG 02:59 · LAX 10:59 · JFK 13:59
    ♥ Do have faith in what you're doing.