gpt4 book ai didi

react-native - 应用程序退出后退单击android react native ?

转载 作者:行者123 更新时间:2023-12-04 04:21:14 24 4
gpt4 key购买 nike

在 Android Mi Note 3 上,硬件后退按钮不会触发 handleBackPress ,当我点击后退应用程序退出时。

我已经执行了以下代码,但未调用 handleBackPress

 componentDidMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
}

componentWillUnmount() {
BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
}

handleBackPress = () => {
this.goBack(); // works best when the goBack is async
return true;
}

导航代码:

const ModalSignUp = createStackNavigator(
{
Signup: { screen: Signup, key: 'Signup' },
PartyList: { screen: PartyList, key: 'PartyList' },
StatesList: { screen: StatesList, key: 'StatesList' },

},
{
initialRouteName: 'Signup',
headerMode: 'none',
mode: 'card',
}
);

导航:

this.props.navigation.push("StatesList")

预期:

返回单击硬件按钮,转到上一屏幕。

最佳答案

您的错误可能是您获取下一个 react-navigation View 的方式。

您需要使用.push 在堆栈上创建一个新 View ,当您单击后退按钮时,将触发.goBack()

默认情况下,后退按钮将始终使导航返回到堆栈中,但是如果堆栈中只有一个 View (当您只使用 .navigate 时会发生这种情况)应用程序将导出。

不确定您是如何浏览 View 的,但这可能是一个解决方案。

编辑:要解决这个问题,在浏览 View 时,使用navigation.push('viewname') 而不是navigation.navigate( ' View 名称')。您不需要任何其他方法(例如您在问题中提出的方法)。

同时检查 docs了解导航的工作原理或 this question

关于react-native - 应用程序退出后退单击android react native ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55217242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com