如何处理React HOC嵌套

时间:2018-11-09 11:21:57

标签: reactjs

我非常感谢React中的HOC。真的很酷:

export default withStyles(styleSheet)(MyComponent);

但是有一天,我发现我的项目中许多组件上都有几个嵌套的HOC:

export default 
  withCheckingAccess(ACCESS)(
    withHoc1(
      withHoc2(
        withHoc3(
          connect(mapStateToProps, mapDispatchToProps)(withStyles(styleSheet)(MyComponent))
        )
      )
    )
  )
);

这看起来确实很丑陋,所以我对什么是最佳实践或者也许是一个好的NPM库来解决这个问题很感兴趣。例如,将其转换为:

export default awesomeHocsDealer(
  [
    withCheckingAccess(ACCESS),
    withHoc1,
    withHoc2,
    withHoc3,
    withStyles(styleSheet)
  ],
  connect(mapStateToProps, mapDispatchToProps)(MyComponent),
);

0 个答案:

没有答案