高阶组件
1、什么是高阶组件?
2、侵入式
利用super传递下去
import React from 'react'; import Loding from '../common/loading'; // 侵入式 // 因为要访问它的内部状态,所以要用到继承,继承他的父级 export default (WrapComponent)=>{ return class extends WrapComponent{ render(){ if(this.state.isLoading){ return
}else{ return super.render() } } } }
3、非侵入式
利用…传递下去
hoc/widthAd.jsx
import React from 'react'; // 非侵入式 // WrapComponent 被包裹的组件 export default (WrapComponent)=>{ return class extends React.Component{ render(){ return
请下载淘票票
下载
} } } 用的时候直接引入这个文件,然后抛出 export default widthAd(Tab)
4、为什么要使用高阶组件?
为了代码的复用性,减少代码的冗余
js继承的几种方式
function (this指向当前的function) function A(){ } A.protytype.add = ()=>{ }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/199094.html原文链接:https://javaforall.net
