徜徉在知识海洋的一群鲸鱼
高阶组件HOC
高阶组件HOC

高阶组件HOC

HOC用来复用一些功能差不多的组件,但是需要经过处理复用的组件

比如一个输入框,账号输入需要添加一些校验规则,而密码输入就需要添加新的校验规则,

HOC一定是纯函数,不能在HOC中修改参数组件的原型

不要在render中使用HOC,会导致重新渲染组件,并且状态丢失

如果组件中有静态方法,但是HOC是不会继承静态方法的,所以需要用到一个库hoist-non-react-statics自动拷贝所有静态方法

只需要hoistNonReactStatic(新组件,旧组件)

ref问题需要forwardRef处理