#react-native #event-handling
#реагировать-родной #обработка событий
Вопрос:
Я использовал BackHandler для настройки кнопки возврата в Android, это мой код:
componentDidMount = async () => {
BackHandler.addEventListener("hardwareBackPress", this.backAction);
}
backAction = () => {
this.props.resetPage("Home");
return true;
};
componentWillUnmount = () => {
BackHandler.removeEventListener("hardwareBackPress", this.backAction);
}
Но на следующей странице, если я не настрою Backhandler, я нажму назад, это было this.props.resetPage("Home")
, помимо того, как его настроить, есть ли у меня способ уничтожить его? Спасибо
Комментарии:
1. Вам нужно проверить, находитесь ли вы на той странице, где вы настраиваете BackHandler действие.
2. Я использую
NavigationActions.navigate
, я думаю, что следующая страница находится на этой странице, я настраиваю действие BackHandler на предыдущей странице3. Когда вы переходите от
Screen1
кScreen2
,Screen1
они не уничтожаются, они складываются, и именно поэтому вам нужно проверить, на каком экране вы сейчас находитесь.4. Спасибо за ваш ответ, можете ли вы дать мне какой-нибудь способ проверить, на каком экране сейчас?
5. Используете ли вы
react-navigation
?