react-redux的connect示例详解
噢,我明白了 人气:0connect简介:
connect是react-redux两个api中其中之一,在使用react-redux时起到了为redux中常用的功能实现了和react连接的建立
函数入口,以及需要传入的参数:
export default function connect(mapStateToProps, mapDispatchToProps, mergeProps, options = {}) {}
mapStateToProps:
传入所有state,返回指定的state数据。
function mapStateToProps(state) { return { todos: state.todos } }
mapDispatchToProps:
传入dispatch,返回使用绑定的action方法。
function mapDispatchToProps(dispatch) { return bindActionCreators(Object.assign({}, todoActionCreators, counterActionCreators), dispatch) }
mergeProps:
mergeProps如果不指定,则默认返回 Object.assign({}, ownProps, stateProps, dispatchProps),顾名思义,mergeProps是合并的意思,将state合并后传递给组件
function mergeProps(stateProps, dispatchProps, ownProps) { return Object.assign({}, ownProps, { todos: stateProps.todos[ownProps.userId], addTodo: (text) => dispatchProps.addTodo(ownProps.userId, text) }) }
**options:**通过配置项可以更加详细的定义connect的行为,通常只需要执行默认值。connect函数解析思路“
connect函数是核心既然是函数,那就有返回值,connect()返回值是Connect组件,通俗点理解,使用connect可以把state和dispatch绑定到react组件,使得组件可以访问到redux的数据。
我们常用的写法如下:
export default connect(mapStateToProps)(TodoApp)
加载全部内容