首页 > 解决方案 > 同时挂载多个组件会覆盖 redux 状态

问题描述

在我的 react-redux 应用程序中,当我将 2 个组件安装在一起时,第一个状态被第二个覆盖。

在我的第一个组件中,我定义了以下状态和操作:

function mapStateToProps(state) {
  return {
    comp1: state.comp1,
  };
}

function mapDispatchToProps(dispatch) {
  return {
    actions: {
      action1: bindActionCreators(action1, dispatch),
      action2: bindActionCreators(action2, dispatch),
    }
  };
}

第二个组件看起来像这样:

function mapStateToProps(state) {
  return {
    comp2: state.comp2,
  };
}

function mapDispatchToProps(dispatch) {
  return {
    actions: {
      action3: bindActionCreators(action3, dispatch),
      action4: bindActionCreators(action4, dispatch),
    }
  };
}

但是当这两个组件最终都被挂载时,只剩下第二个组件的状态和动作。第一个组件的状态和动作变得不确定。

我只是这样渲染组件:

<Comp1/>
<Comp2/>

Redux 版本:3.7.2 React-redux 版本:5.0.6

任何帮助表示赞赏。提前致谢!

标签: reduxreact-redux

解决方案


推荐阅读