react-redux的connect详解
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
connect简介
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)