Как вызвать метод оболочки в реакции
Я использую специальный, чтобы обернуть компонент. Этот hoc отправляет действие, когда он не подключен. Для этого он вызывает метод resetState. Но что, если я захочу назвать то же самое resetState()
в другом месте в завернутом компоненте. this.resetState
не работает (логически), я могу только представить передачу функции в качестве опоры для оболочки.
const resetAtUnmount = function (type) {
// return the function to be called by redux 'connect'
return function decorate(WrappedComponent) {
// return the final class
return class extends React.Component {
resetState() {
store.dispatch({ type });
}
componentWillUnmount() {
this.resetState();
}
render() {
return <WrappedComponent {...this.props} />;
}
};
};
};
экспорт по умолчанию resetAtUnmount;
1 ответ
Решение
Похоже, вы ответили на свой вопрос. Передайте resetState как опору: <WrappedComponent {...this.props} resetState={this.resetState} />