Я использую Redux с компонентами класса в React. Имея два следующих состояния в хранилище Redux.
{ spinner: false, refresh: false }
В родительских компонентах у меня есть функция отправки для изменения этих состояний.
class App extends React.Component {
reloadHandler = () => {
console.log("[App] reloadComponent");
this.props.onShowSpinner();
this.props.onRefresh();
};
render() {
return <Child reloadApp={this.reloadHandler} />;
}
}
В дочернем компоненте я пытаюсь перезагрузить родительский компонент, как показано ниже.
class Child extends React.Component {
static getDerivedStateFromProps(props, state) {
if (somecondition) {
// doing some redux store update
props.reloadApp();
}
}
render() {
return <button />;
}
}
Я получаю сообщение об ошибке, как показано ниже.
Предупреждение: невозможно обновить компонент внутри тела функции другого компонента.
Как убрать это предупреждение? Что я тут не так делаю?