【问题标题】:react-navigation goBack doesn't works反应导航 goBack 不起作用
【发布时间】:2019-06-11 05:44:24
【问题描述】:

我这里有 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',
}));

在我的 LoginScreen 按钮上,这里处理 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;
  }

上面的所有代码都试过了,但对我没有用。检查StackoverflowGitHub 上的其他解决方案,包括react-navigation homepage,但没有解决方案有效。

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

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

【问题讨论】:

    标签: javascript react-native react-navigation


    【解决方案1】:

    当您使用createSwitchNavigator 而不是createStackNavigator 时,您可以在其中推送和弹出屏幕以及在createSwitchNavigator 中,因为文档说一次只能看到一个屏幕,即不会出现堆栈,您可以这样做

    this.props.navigation.navigate('Login')

    【讨论】:

    • 我已经投了赞成票,如果对他有帮助,Yohnaes Al 只能接受 :)
    • 糟糕,我以为你是 OP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2020-07-20
    • 1970-01-01
    相关资源
    最近更新 更多