Я пытаюсь запустить метод на componentWillUnmount (я использую следующий js-фреймворк). Проблема в том, что метод componentWillUnmount не срабатывает. Однако componentDidMount работает нормально.
class TeamMember extends Component {
constructor(props)
{
super(props);
this.state = {
teamMember: this.props.teamMember,
startDate: null,
}
}
static async getInitialProps ( context ) {
const { slug } = context.query;
const res = await fetch(``);
const teamMember = await res.json();
return {
teamMember:teamMember
}
}
async componentDidMount()
{
this.setState({
startDate: Date.now()
})
Tracker.pushObjectToStorage('profilesViewed',{
title:this.state.teamMember[0].title.rendered,
id:this.state.teamMember[0].id
})
}
async componentWillUnmount(props)
{
alert("ddffff");
console.info("ddsds");
}
}
это мой код для страницы. когда вы покидаете страницу, я хочу, чтобы сработал componentWillUnmount. Я поставил предупреждение для тестовых целей.





Это ожидаемое и предполагаемое поведение маршрутизации Nextjs. Для получения дополнительной информации вы можете проверить эту проблему: https://github.com/zeit/next.js/issues/2819.
Когда вы переходите на другую страницу, размонтирование компонентов не происходит, а вместо этого отображается целая новая страница.
Это такое же поведение, как если бы вы обновляли (или приземлялись в первый раз) на странице. Компонент React не будет unmount, когда вы нажмете F5 на странице, потому что он не размонтируется, страница просто обновляется.
В вопросе отсутствует stackoverflow.com/help/mcve.