React高阶组件特点

发布于 2019-08-31  约 2 分钟

一 、高阶组件(下面都称作HOC)HOC应该是无副作用的纯函数,且不应该修改原组件。HOC接收一个函数作参数,render时仅仅渲染了被包装的组件,并没有侵入式的修改它。
二、HOC不关心你传递的props是什么,并且被包装的组件不关心数据来源。
三、HOC接收到的props应该传递给被包装的组件,但它可以对props进行操作(非直接修改props)
注意:
1 HOC不应该在render函数中创建
2 HOC也需要复制组件中的静态方法
3 HOC中的ref引用的是最外层的容器组件
示例代码:

function withConsle(WrappedComponent) {
    return class extends React.Component {
        componentDidMount () {
            console.log('with console: WrappedComponent had mount'
        }
        render () {
            return <WrappedComponent (...this.props)></WrappedComponent>
        }
    }
}
阅读 280发布于 2019-08-31

推荐阅读
hachimei前端随笔
用户专栏

记录本人在前端学习的点点滴滴

3 人关注
6 篇文章
专栏主页
目录