加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

【React深入】从Mixin到HOC再到Hook

发布时间:2019-04-12 03:57:26 所属栏目:建站 来源:ConardLi
导读:导读 前端成长速率很是之快,页面和组件变得越来越伟大,怎样更好的实近况态逻辑复用一向都是应用措施中重要的一部门,这直接相关着应用措施的质量以及维护的难易水平。 本文先容了React回收的三种实近况态逻辑复用的技能,并说明白他们的实现道理、行使方

Decorators是ES7的一个提案,还没有被尺度化,但今朝Babel转码器已经支持,我们必要提前设置babel-plugin-transform-decorators-legacy:

  1. "plugins": ["transform-decorators-legacy"] 

还可以团结上面的compose函数行使:

  1. const hoc = compose(logger, visible, style);  
  2. @hoc  
  3. class Input extends Component {  
  4.   // ...  

HOC的现实应用

下面是一些我在出产情形中现实对HOC的现实应用场景,因为文章篇幅缘故起因,代码颠末许多简化,若有题目接待在评述区指出:

日记解决

现实上这属于一类最常见的应用,多个组件拥有相同的逻辑,我们要对一再的逻辑举办复用,

官方文档中CommentList的示例也是办理了代码复用题目,写的很具体,有乐趣可以👇行使高阶组件(HOC)办理横切存眷点。

某些页面必要记任命户举动,机能指标等等,通过高阶组件做这些工作可以省去许多一再代码。

  1. function logHoc(WrappedComponent) {  
  2.   return class extends Component {  
  3.     componentWillMount() {  
  4.       this.start = Date.now();  
  5.     }  
  6.     componentDidMount() {  
  7.       this.end = Date.now();  
  8.       console.log(`${WrappedComponent.dispalyName} 渲染时刻:${this.end - this.start} ms`);  
  9.       console.log(`${user}进入${WrappedComponent.dispalyName}`);  
  10.     }  
  11.     componentWillUnmount() {  
  12.       console.log(`${user}退出${WrappedComponent.dispalyName}`);  
  13.     }  
  14.     render() {  
  15.       return <WrappedComponent {...this.props} />  
  16.     }  
  17.   }  

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读