【问题标题】:Why does the connect sequence matter?为什么连接顺序很重要?
【发布时间】:2017-09-30 18:16:11
【问题描述】:

当使用react-redux 中的connect 时,如果我在mapStateToProps 之前使用mapDispatchToProps,则组件无法渲染声明dispatch is not a function

function mapDispatchToProps(dispatch) {
  return {
    getData: () => {
      dispatch(getSomething())
    }
  }
}

function mapStateToProps(state) {
  return {
      somevalue: state.somevalue,
  }
}

export default connect( mapStateToProps, mapDispatchToProps ) ( Comp );

//export default connect( mapDispatchToProps, mapStateToProps ) ( Comp ); THIS FAILS

为什么mapStateToPropsmapDispatchToProps 的顺序很重要?

【问题讨论】:

  • 为什么正确的函数传递很重要?哦,真的哈哈好一个。

标签: reactjs react-native redux react-redux


【解决方案1】:

正如react-redux documentation for connect 中所述,它等待 4 个不同的参数。

如果您更改参数的顺序,您的函数将使用错误的参数触发,这将导致您的函数失败。

connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])

将 React 组件连接到 Redux 存储。连接是一个门面 围绕connectAdvanced,为最常见的 用例。

它不会修改传递给它的组件类;相反,它 返回一个新的连接组件类供您使用。

【讨论】:

    猜你喜欢
    • 2013-05-18
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多