完成一个重(chong)用逻辑的组件的技术 ==》 hoc === 高阶组件
原来你有一个 组件A是一个可以满足需求A的组件。此时来了一个需求B 和A的需求逻辑部分相同, B需求比A需求的内容多一部分逻辑判断时
1、A写A的 B写B的
不同需求逻辑分开 可以 但是会有较多的重复代码
2、在A组件基础上增加一个入参(专门用来判断展示A还是B)、并在A组件内部进行入参的判断后展示结果
可以 但此时就污染了A组件, A组件不再是一个单纯的A了(她还能实现B)
3、使用hoc方式 就可以避免污染A 又可以使用A的东西
const B = ({children, p1}) => {
return p1 ? (<span>啊哈哈哈哈</span>) : children;
};
<B>
<A />
</B>
可拆卸式 如果将来B改成A也可以直接卸除 B的组件就好了
如果需要给A组件进行入参注入 可以增加一个react.cloneElement