• 高阶组件(HOC)
    高阶组件公式

    1
    const HOC = Component => EnhancedComponent

    从上面我们可以看出高阶组件其实就是函数,它接受组件作为参数,对组件进行增强后返回。
    一个简单的高阶组件的例子如下,给组件添加一个className prop

    1
    2
    3
    const withClassName = Component => props =>(
    <Component {...props} className="my-class" />
    )

    从上面的例子我们可以看到withClassName这个高阶组件,接收一个Component组件作为函数的参数,并且返回一个函数,返回的函数接收一个props数据流作为参数,并且该函数返回一个被增强的<Component/>组件。

    高阶组件通常将组件上接收到的props对象展开,这样做的原因是尽量让它们更直观,并且只添加新的行为。