Как использовать функцию компоновки (редукции/рамды/рекомпозиции/и т. д.)?

Я понимаю, что что-то вроде foo(bar(baz))) можно переписать как compose(foo, bar, baz). А как же примеры из жизни? Например, у меня может быть:

export default {
loadData,
component: connect(mapStateToProps, {
    actionCreator1,
    actionCreator2
})(requireAuth(showToggle({ChildComponent: aComponentOfMine, anotherField: `becauseStringsAreCool`})))

Можно ли реорганизовать значение компонента с помощью компоновки?


person chachathok    schedule 20.01.2018    source источник


Ответы (1)


Значение component в вашем примере может быть переписано для использования compose следующим образом:

const buildComponent = compose(
  connect(mapStateToProps, {
    actionCreator1,
    actionCreator2
  }),
  requireAuth,
  showToggle
)

export default {
  loadData,
  component: buildComponent({
    ChildComponent: aComponentOfMine,
    anotherField: `becauseStringsAreCool`
  })
}
person Scott Christopher    schedule 20.01.2018