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)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。