高阶组件
其实高阶组件的出现,应该感谢javascript支持函数式编程。当我们一层一层的去揭开高阶组件的面纱的时候,发现它并没有很神奇啦。说到底就是一个函数,返回一个组件,组建中套了目的组件。看代码:
1.用法:
2.写法:
代码太长,分两段吧,显然,这是用的ts:
这里不难发现,用了个库:hoist-non-react-statics。
这个库可以帮助我们拷贝静态属性。因为静态属性是属于类的,不是属于对象的,高阶组件在渲染后可以拿到目的组件的对象,但不渲染,高阶组件是一个类,静态属性不会自动过去,所以需要拷贝一下。