高阶组件
· 高阶组件不可以直接修改接收到的组件的自身行为,只能进行功能组合 · 高阶组件是纯函数,需要保证没有副作用。 · 在进行功能组合时, 一般通过增加不相关的 props 形式给原有组件传递信息 · 不要在 render 方法中使用高阶组件 .高阶组件不会传递 refs
在 withLoadingHoc 中, 还是使用 this.props.contacts.length 进行判断, 为此需要讲这个限定的 propname(this.props.contacts)进行抽象传递.具体做法是将 withLoadingHoC 柯里化,它将 接收两个参数,先后执行。第一个参数是由业务调用方指定的 propname 对应于上面场景为 this.props.contacts ,用于判断数据是否加载完毕。 withLoadingHoC ('contacts')(ContactsApp)
高阶组件的又一种典型用法 给包裹组件传递不相关的属性 props。
mixins 有一些弊端
不确定性. Mixins 会直接修改state
命名冲突 同种情况出现在一个组件中不止一个 Mixins 的场景
render prop是什么
在调用组件时,引入一个函数类型的 prop, 这个 prop 定义了组件的渲染方式。
Function as Child Component
最后更新于
这有帮助吗?