【发布时间】:2021-06-04 07:08:42
【问题描述】:
在官方文档中backhandler 在 react native 中,用于退出应用程序的后处理程序。
这是文档
useEffect(() => {
const backAction = () => {
Alert.alert("Hold on!", "Are you sure you want to go back?", [
{
text: "Cancel",
onPress: () => null,
style: "cancel"
},
{ text: "YES", onPress: () => BackHandler.exitApp() }
]);
return true;
};
const backHandler = BackHandler.addEventListener(
"hardwareBackPress",
backAction
);
return () => backHandler.remove();
}, []);
我想做的是简化它,而不是退出应用程序,我想在点击physical back button(backhandler)时将其导航到主页
这里是代码
const CheckOutOrderReceipt = ({navigation, route}) => {
const {OrderId} = route.params;
useEffect(() => {
const backAction = () => {
BackHandler.navigation.reset({
index: 0,
routes: [{name: 'Home'}],
});
return true
};
const backHandler = BackHandler.addEventListener(
'hardwareBackPress',
backAction,
);
return () => backHandler.remove();
}, []);
但是什么时候按后退按钮。我收到了这个错误
undefined is not an object (evaluating '_reactNative.BackHandler.navigation.reset')
我做错了什么。有人请推荐
【问题讨论】:
标签: reactjs react-native react-navigation