我lifecycle
用来创建一个高阶组件。我需要访问包装的组件实例。我怎么才能得到它?
例如
export default function ajaxLoader(options) {
return lifecycle({
componentWillMount() {
// how to get *wrapped* component instance here?
// `this` refers to an instance of the lifecycle HOC, not the wrapped component
// i.e., I want the instance of `SomeComponent`
}
}) // this returns a function that accepts a component *class*
}
以及用法,如果您也想看到:
class SomeComponent extends React.PureComponent {
render() {
return <span/>;
}
}
const WrappedComponent = ajaxLoader({
// options
})(SomeComponent);
我想render()
如果我在我的 HOC 中覆盖该方法,并使用 渲染包装的组件,我可以获得对包装组件的引用ref=...
,但recompose
具体不会让我render
自己实现该方法。
它支持整个组件 API,除了默认实现的 render() 方法(如果指定,则会被覆盖;错误将记录到控制台)。