react-redux的connect详解

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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