Повторно используйте mapStateToProps, составляя функции подключения - PullRequest
0 голосов
/ 04 июля 2018

У меня есть ситуация, когда, например, три компонента используют одно и то же состояние из хранилища, а также уникальное для них состояние.

Я хотел бы провести рефакторинг, чтобы не дублировать работу, выполнив что-то вроде этого:

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 голосов
/ 04 июля 2018

Вы пробовали это?

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