**已关闭。**此问题需要debugging details。目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
3天前关闭。
Improve this question的
我想退出应用程序时,用户按下android返回按钮.我有这个动作下面的代码.
useFocusEffect(() => {
const backHandler = BackHandler.addEventListener(
'hardwareBackPress',
() => {
BackHandler.exitApp();
return true;
},
);
return () => {
backHandler.remove();
};
});
字符串
上面的代码中有一个错误。上面的代码有时可以工作,但不是所有情况下都可以。我使用的是react导航。我的应用程序中有两个导航器,即StackNavigator
和DrawerNavigator
。DrawerNavigator
在StackNavigator
内部。
解决我的bug
1条答案
按热度按时间h9a6wy2h1#
多个监听器:该问题可能源于多个后退按钮侦听器相互干扰,尤其是与嵌套导航器。焦点效果范围:由于组件生命周期或导航行为,useFocusEffect可能不总是按预期执行。
Install @react-navigation/native:npm install @react-navigation/native使用NavigationContainer从@react-navigation/native Package 根导航器
字符串
在NavigationContainer中添加集中式侦听器:
型
从@react-navigation/native使用useIsFocused检查屏幕是否聚焦
型