通过组合连接函数重用mapStateToProps

时间:2018-07-04 16:53:49

标签: redux react-redux

我遇到这样的情况,例如,三个组件使用商店中的相同状态以及它们唯一的状态。

我想重构它,所以我不会通过做这样的事情来重复工作:

const sharedMapStateToProps = state => ({
  sharedValue1: state.sharedValue1,
  sharedValue2: state.sharedValue2,
  sharedValue3: state.sharedValue3,
});

const uniqeMapStateToProps = state => ({
  uniqueValue1: state.uniqueValue1,
  uniqueValue2: state.uniqueValue2,
});

compose(
  connect(sharedMapStateToProps),
  connect(uniqeMapStateToProps)
)(SomeComponent)

是否有重用和组合mapStateToProps / mapDispatchToProps / mergeProps函数的方法?

1 个答案:

答案 0 :(得分:0)

您尝试过吗?

compose(
  connect(state => ({ ...sharedMapStateToProps(state), ...uniqeMapStateToProps(state) })),
)(SomeComponent)