先贴上参考来源:知乎--Wang Namelos
redux有三要素:action、store、reducers
那么先搞清楚这三个东西是什么,有什么作用。
首先来看react
react是单向数据流,数据总是从上往下流动,父组件给子组件下发数据。
通过父组件下发props给子组件。组件内部会有state,因为整个React没有数据向上回溯的能力,也就是说数据只能单向向下分发,或者自行内部消化。这时候组件与组件之间如何交流?子组件如何向父组件传递数据?这些都是一个问题。
能想到的解决办法就是:提升state,将state放到顶层组件中来管理,再作为props分发回子组件。
组建于组件之间的传递有三种情况:
1、父组件传递数据给子组件:通过props下发
2、子组件传递给父组件:回调函数
3、子组件与子组件:先将子组件的值传递给父组件,然后再由父组件在分发给指定的子组件。
根据以上的解释,我们可以理解到,如果子组件与子组件之间要通信的话那么需要
1、先将A(子组件)的数据发送给父组件
2、父组件接收到A的数据,然后存储起来
3、再将A的数据分发给(B)
那么其中我们就需要
- A将数据传递给父组件的这个行为(action)
- 父组件将A的数据存储起来(store)
- 父组件再将数据分发给B(reducers)
redux的存在就是更好的帮助react管理数据,做好数据的分配,流向。