1 分钟带你入门 React 公共逻辑抽离 HOC...
前言: 看到这标题你会想到什么 ? HOC ? Render Props ? 自定义Hooks ? mixin ? 哈哈, mixin 已经被React抛弃了,今天由我来个给你们理清这些看似高深的概念
HOC
High Order Component 高阶组件,它就是一个函数,你传入一个组件,然后它把公共逻辑复制到你传入的组件,然后再把这个加工好的组件返回给你用,从而达到公共逻辑复用的目的
听起来是不是像一个模具加工装置,说来就是工厂模式而已
这里需要注意的是要把props传给所传入的Component组件
Render Props
Render Porps 的方式是在props上传入一个函数,这函数返回的是React.Element
然后在这个公共组件内将它渲染出来,已到达复用的作用
自定义Hooks
小结
HOC这种设计模式相对于Render Props来说更加的通用,后者应该是React特有的功能
HOC有点的像黑盒的模式,你不清楚里面会有啥;另外需要注意props的完全代理,否则数据流就断层了!
Render Props像白盒模式,你渲染的是啥,传入的是啥都能第一眼的看到
随着React Hooks的重磅推出,公共逻辑的抽离可以说更加的轻便,而且容易维护测试
参考:
版权声明: 本文为 InfoQ 作者【Leo】的原创文章。
原文链接:【http://xie.infoq.cn/article/bbc16dbf3e59e0f0301207a9e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论