redux使用的反思:状态存储
youngwind opened this issue · 3 comments
youngwind commented
从react到redux
刚刚开始接触react的时候觉得react好流弊啊,但是写着写着就发现有个问题:
组件之间如何通信?我一个组件发生改变之后影响了n个组件,如何处理?
所以这时候状态管理就派上用场了,一开始用的是flux,后来转向了redux。
从redux到react
刚刚开始用redux的时候也觉得好流弊啊!把所有组件产生的状态变化都一股脑儿存储进去store。但是后来渐渐暴露了问题。
假设我们有这么一个应用场景。
一个按钮,点击它的时候显示上面的文字,再点击它的时候不显示上面的文字。
如果我们还用redux来做的话,需要这么几个步骤。
- 定义一个actiontype
- 定义一个action函数
- 定义一个reducer函数
- 在点击事件中触发action
太TM长了!我不就想显示和隐藏吗。。。用得着这么费劲吗。。
问题核心
渐渐想明白:redux是一个状态管理工具,使用它本来就是为了管理公共状态的。组件A发生的变化影响了组件BCD,那么使用它很方便。但是,如果组件A的变化只影响它本身(包括未来也不会影响其他组件),那么何不回到react,把这个状态直接存储到组件本身上呢?只需要一步,this.setState()
渐渐觉得,使用某种工具,但是不被限制于它,有很长的路要走。
ruyaoyao commented
應該這樣說,不同的情境需要不同的做法。
Redux並不是每個時候都適用
lowesyang commented
flux架构主要解决的问题之一就是组件间的通信问题。如果只是单个组件内的状态,确实用局部状态就可以了~
rccoder commented
回归初心 😆 不为了 Redux 而 Redux