0

我知道像 foo(bar(baz))) 这样的东西可以重写为 compose(foo, bar, baz)。然而,现实生活中的例子呢?例如,我可能有:

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

是否可以使用 compose 重构组件值?

4

1 回答 1

2

您的示例中的component值可以重写为compose这样使用:

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

export default {
  loadData,
  component: buildComponent({
    ChildComponent: aComponentOfMine,
    anotherField: `becauseStringsAreCool`
  })
}
于 2018-01-20T20:42:28.467 回答