Я использую Redux
. У меня есть один компонент Project
, а внутри него - компонент SavedVariants
. Когда я перемещаюсь за пределы компонента SavedVariants
- вызываются другие функции и селекторы внутри Project
, повторно их визуализируют, и только после этого вызывается componentWillUnmount
. Я хочу изменить этот приоритет, есть ли способ это сделать? Мне нужно обновить состояние при размонтировании компонента SavedVariants
, в противном случае повторный рендеринг заставит программу взломать sh. Компонент Project
имеет следующий метод render
:
render() {
if (this.props.project && this.props.project.detailsLoaded) {
return (
<Switch>
<Route path={`${this.props.match.url}/project_page`} component={ProjectPageUI} />
{this.props.user.isStaff && <Route path={`${this.props.match.url}/case_review`} component={CaseReview} />}
<Route path={`${this.props.match.url}/analysis_group/:analysisGroupGuid`} component={ProjectPageUI} />
<Route path={`${this.props.match.url}/saved_variants`} component={SavedVariants} />
<Route component={() => <Error404 />} />
</Switch>
)
} else if (this.props.loading) {
return <Loader inline="centered" active />
}
return <Error404 />
}
Итак, когда я выхожу, отображается ProjectPageUI
- еще одна часть компонента Project
. Мне нужен способ избежать такого поведения.
Обновление
Я попробовал следующий метод прикрепления EventListener
, но этого не произошло help: componentWillUnmount () не вызывается при обновлении текущей страницы
Несколько методов, которые я пробовал здесь, также не работали: Перехватить / обработать возврат браузера кнопка в React-роутере?