Я использую lifecycle
для создания Заказной компонент. Мне нужен доступ к обернутому экземпляру компонента. Как я могу это получить?
e.g.
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(), который реализован по умолчанию (и переопределяется, если указан; ошибка будет зарегистрирована в консоли).
lifecycle
. Что вы хотите сделать с обернутым компонентом? Я не понимаю идею из вашего примера использования. - person wuct   schedule 19.07.2017lifecycle
. Вероятно, вам следует перенести эти методы на компонент более высокого порядка или просто использовать простой React.Component. - person wuct   schedule 20.07.2017