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

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

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

假如我们在高阶组件对原组件举办了修改,譬喻下面的代码:

  1. InputComponent.prototype.componentWillReceiveProps = function(nextProps) { ... } 

这样就粉碎了我们对高阶组件的约定,同时也改变了行使高阶组件的初志:我们行使高阶组件是为了加强而非改变原组件。

约定-透传不相干的props

行使高阶组件,我们可以署理全部的props,但每每特定的HOC只会用到个中的一个或几个props。我们必要把其他不相干的props透传给原组件,如下面的代码:

  1. function visible(WrappedComponent) {  
  2.   return class extends Component {  
  3.     render() {  
  4.       const { visible, ...props } = this.props;  
  5.       if (visible === false) return null;  
  6.       return <WrappedComponent {...props} />;  
  7.     }  
  8.   }  

我们只行使visible属性来节制组件的表现可潜匿,把其他props透传下去。

约定-displayName

在行使React Developer Tools举办调试时,假如我们行使了HOC,调试界面也许变得很是难以阅读,如下面的代码:

  1. @visible  
  2. class Show extends Component {  
  3.   render() {  
  4.     return <h1>我是一个标签</h1>  
  5.   }  
  6. }  
  7. @visible  
  8. class Title extends Component {  
  9.   render() {  
  10.     return <h1>我是一个问题</h1>  
  11.   }  

(编辑:湖南网)

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

热点阅读