在android React native中,后退按钮不会禁用特定屏幕



我正在尝试仅在主屏幕上禁用android后退按钮。我的代码:

React.useEffect(() => {
BackHandler.addEventListener('hardwareBackPress', handleBackBtnPressed);
return () => {
BackHandler.removeEventListener('hardwareBackPress', handleBackBtnPressed);
}
}, [])
const handleBackBtnPressed = () => {
navigation.goBack(null);
return true
}
const navigateToNextScreen = () => {
navigation.push('Prmotions');
}

如果我移除navigation.goBack(null(;所有屏幕上的后退按钮都被禁用,并且上面的代码根本没有禁用后退按钮。navigation.navigate("ScreenName")不适用于移动到下一个屏幕的mu场景,这就是为什么我使用navigation.push

我通过在所有屏幕上按下后退按钮来处理它。

React.useEffect(() => {
BackHandler.addEventListener('hardwareBackPress', handleBackBtnPressed);
return () => {
BackHandler.removeEventListener('hardwareBackPress', handleBackBtnPressed);
}
}, [])
const handleBackBtnPressed = () => {

navigation.goBack(null);
return true

}

把这个放在我不想回去的地方。

React.useEffect(() => {
BackHandler.addEventListener('hardwareBackPress', handleBackBtnPressed);
return () => {
BackHandler.removeEventListener('hardwareBackPress', handleBackBtnPressed);
}
}, [])
const handleBackBtnPressed = () => {
return true

}

我知道这可能不是最好的解决方案,但对我来说效果很好。

最新更新