redux store reducer action之间的关系

关于redux,知乎上大神Wang Namelos的回答:https://www.zhihu.com/question/41312576?sort=created

redux如何管理react数据库:

a. 需要回调通知state (等同于回调参数) -> action

b. 需要根据回调处理 (等同于父级方法) -> reducer

c. 需要state (等同于总状态) -> store

action: 指全局发布的动作指令,主要就是定义所有事件行为的

reducer: action指令发起会触发reducer对应函数执行


Clipboard Image.png

过程:
1、当view需要发起行为时,需要在当前位置触发action,即store.dispatch(addNote())
2、当Store 收到 Action 以后,必须给出一个新的 State,这样 View 才会发生变化。而这种 State 的计算过程就叫做 Reducer。而Reducer方法是由store.dispatch方法触发来自动执行的。为此,Store 需要知道 Reducer 函数,做法就是在生成 Store 的时候,将 Reducer 传入createStore方法。
Reducer 是一个函数,且为纯函数,它接受 action 和当前 State 作为参数,Reducer 函数里面不能改变 State,必须返回一个全新的state对象。
3、state更新,触发view发生改变,而在此之前必须把数据store和操作事件action绑定到需要使用的组件上,就需要用到connect函数,意思是先接受两个参数(数据绑定mapStateToProps和事件绑定mapDispatchToProps),再接受一个参数(将要绑定的组件本身):其中:mapStateToProps 就是将state作为props绑定到组件上。mapDispatchToProps是可选的,将 action 作为 props 绑定到组件上,如果不传这个参数redux会把dispatch作为属性注入给组件,可以手动当做store.dispatch使用
以上,便可以在组件内触发action,更新state,来更新view的变化

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容