gpt4 book ai didi

javascript - react 导航 goBack 不起作用

转载 作者:行者123 更新时间:2023-12-03 00:22:50 25 4
gpt4 key购买 nike

我这里有 2 个屏幕。首先是 LoginScreen 和 LoginFormScreen。假设 LoginScreen 有一个按钮 LoginButton :导航到 LoginFormScreen。事件流程应该是

LoginScreen.js -> LoginFormScreen.js

这是我的AppNavigator.js

import LoginScreen from '../screens/LoginScreen';
import LoginFormScreen from '../screens/LoginFormScreen'

export default createAppContainer(createSwitchNavigator({
Login: {screen : LoginScreen},
LoginForm: {screen: LoginFormScreen},
}, {
initialRouteName: 'Login',
}));

在我的登录屏幕按钮上,这里是处理 onPress 的操作

<Button
title="Log In"
titleStyle={{ fontWeight: 'bold', fontSize: 18 }}
onPress={() => this.props.navigation.navigate('LoginForm')}

在我的 LoginFormScreen 上,我希望用户单击后退物理按钮后返回到上一个屏幕(LoginScreen)。这是我的代码

constructor(props) {
super(props);
this.handleBackButtonClick = this.handleBackButtonClick.bind(this);
}

componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackButtonClick);
}

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

handleBackButtonClick() {
this.props.navigation.dispatch(NavigationActions.back());
this.props.navigation.goBack("Login")
this.props.navigation.goBack(null)
this.props.navigation.goBack()
return true;
}

我已经尝试了上面所有的代码,但没有任何效果。检查Stackoverflow上的其他解决方案和 GitHub包括react-navigation homepage但没有解决方案有效。

尝试过goBack()goBack(null)dispatch(NavigationActions.back()),但没有人工作。

请有人帮我解决这个问题。

最佳答案

由于您使用的是 createSwitchNavigator 而不是 createStackNavigator,您可以在其中推送和弹出屏幕,并且在 createSwitchNavigator 中,正如文档所说,在时间,即不存在堆栈,您可以这样做

this.props.navigation.navigate('登录')

关于javascript - react 导航 goBack 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54228913/

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