Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

redux使用的反思:状态存储 #58

Open
youngwind opened this issue Apr 8, 2016 · 3 comments
Open

redux使用的反思:状态存储 #58

youngwind opened this issue Apr 8, 2016 · 3 comments
Labels

Comments

@youngwind
Copy link
Owner

从react到redux

刚刚开始接触react的时候觉得react好流弊啊,但是写着写着就发现有个问题:
组件之间如何通信?我一个组件发生改变之后影响了n个组件,如何处理?
所以这时候状态管理就派上用场了,一开始用的是flux,后来转向了redux。

从redux到react

刚刚开始用redux的时候也觉得好流弊啊!把所有组件产生的状态变化都一股脑儿存储进去store。但是后来渐渐暴露了问题。
假设我们有这么一个应用场景。

一个按钮,点击它的时候显示上面的文字,再点击它的时候不显示上面的文字。

如果我们还用redux来做的话,需要这么几个步骤。

  1. 定义一个actiontype
  2. 定义一个action函数
  3. 定义一个reducer函数
  4. 在点击事件中触发action

太TM长了!我不就想显示和隐藏吗。。。用得着这么费劲吗。。

问题核心

渐渐想明白:redux是一个状态管理工具,使用它本来就是为了管理公共状态的。组件A发生的变化影响了组件BCD,那么使用它很方便。但是,如果组件A的变化只影响它本身(包括未来也不会影响其他组件),那么何不回到react,把这个状态直接存储到组件本身上呢?只需要一步,this.setState()

渐渐觉得,使用某种工具,但是不被限制于它,有很长的路要走。

@ruyaoyao
Copy link

應該這樣說,不同的情境需要不同的做法。
Redux並不是每個時候都適用

@lowesyang
Copy link

flux架构主要解决的问题之一就是组件间的通信问题。如果只是单个组件内的状态,确实用局部状态就可以了~

@rccoder
Copy link

rccoder commented Feb 19, 2017

回归初心 😆 不为了 Redux 而 Redux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants