Я пытаюсь сбросить стек навигации каждый раз, когда достигаю определенного экрана c (в моем случае, домашней страницы).
Вот фрагмент кода:
componentDidMount(){
const { navigation } = this.props
this.focusListener = navigation.addListener('focus', () => {
this._getData()
console.log('coucou')
navigation.dispatch(
CommonActions.reset({
index: 0,
routes: [
{ name: 'Home' },
],
})
);
});
this._updateNavigationParams()
}
componentWillUnmount() {
// Remove the event listener before removing the screen from the stack
this.focusListener.remove();
}
Если я удалю следующую часть, нет проблем, мой код работает правильно:
navigation.dispatch(
CommonActions.reset({
index: 0,
routes: [
{ name: 'Home' },
],
})
);
Мне нужен слушатель, так как мне нужно обновить данные sh, когда я вернусь на HomeScreen, и Я также использовал бы его для сброса стека навигации каждый раз, когда возвращаюсь сюда.
Я получаю ошибку:
TypeError: this.focusListener.remove не является функцией. (В 'this.focusListener.remove ()' this.focusListener.remove не определено).