Redux
https://redux.js.org/
https://cn.redux.js.org/
store.getState()
https://redux.js.org/api-reference/store#getstate
这个函数返回获取最新的state
,它不会被外界触发。
store.subscribe(listener)
https://redux.js.org/api-reference/store#subscribe-listener
这个函数返回一个函数unsubscribe
。
这个函数执行后,只要store
的state
发生任何改变,函数listener
就会被执行。直到函数unsubscribe
被调用。
目前,官方没有提供监控state
部分改变的方法。
store.dispatch(action)
https://redux.js.org/api-reference/store#dispatch-action
这个函数执行后,在state
中被action
提及的成员会被替换。
这个函数返回action
。
react-redux
https://github.com/reduxjs/react-redux
https://segmentfault.com/a/1190000015042646
// react-redux
connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])
mapStateToProps(state)
mapDispatchToProps(dispatch, ownProps)
函数mapStateToProps(state, ownProps)
这个函数能够将state
(或其成员)作为 props 绑定到组件上。ownProps
是组件本身的 props。
一旦 props 改变,组件就会重新渲染。
函数mapDispatchToProps(state, ownProps)
这个函数提供dispatch
,使得组件可以创建用于改变state
的props(函数)。ownProps
是组件本身的 props。
这个函数与store.dispatch
相比,唯一的好处是:假如组件定义不在入口文件(如index.js
)中,这种方法可以免于import
入口文件中的全局store
。所以,这个函数其实并无多大意义。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。