Redux
https://redux.js.org/
https://cn.redux.js.org/
store.getState()
https://redux.js.org/api-refe…
这个函数返回获取最新的state
,它不会被外界触发。
store.subscribe(listener)
https://redux.js.org/api-refe…
这个函数返回一个函数unsubscribe
。
这个函数执行后,只要store
的state
发生任何改变,函数listener
就会被执行。直到函数unsubscribe
被调用。
目前,官方没有提供监控state
部分改变的方法。
store.dispatch(action)
https://redux.js.org/api-refe…
这个函数执行后,在state
中被action
提及的成员会被替换。
这个函数返回action
。
react-redux
https://github.com/reduxjs/re…
https://segmentfault.com/a/11…
// 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
。所以,这个函数其实并无多大意义。