反应中高阶组分的替代品有哪些?

时间:2017-11-15 11:12:36

标签: reactjs react-redux

使用php后台不确定如何使用可重用代码实现设计,

问题: 我们正在创建一个带有许多类似组件的react / redux应用程序,它们共享很多功能......我读过HOC但是想知道是否有其他解决方案可以帮助解决这种情况!?

2 个答案:

答案 0 :(得分:0)

组件继承。 您可以从某些ComponentBase扩展一个组件,以在它们之间共享一些功能。但实际上它与创建HOC的方式不同。 Hoc只是允许你将一些道具传递给子,继承给你一个共享方法和状态的能力。

答案 1 :(得分:0)

有一种名为function as child components的东西(不确定这是否是官方名称,但无论如何)

基本思想是react接受函数作为子组件,所以例如代替react redux的connect HOC组件你可以做这样的事情

<Connect mapStateToProps={myMapper}>
  {({ users, isLoading })} => {
    //renders the user
}}

与HOC相比,connect实现非常简单。

render() {
  return this.props.children(
    this.props.mapStateToProps(this.state)
  )
}

您可以在此处查看有关它的非常有趣的视频:https://www.youtube.com/watch?v=BcVAq3YFiuc