ios - react 导航重置操作不起作用

标签 ios reactjs react-native react-navigation react-native-ios

index.js 有这样的代码,有 StackNavigator

const App = StackNavigator({
  Home: {
    screen: Home,
  },
});

const AppNavigator = StackNavigator(
  {
    Login: {
      screen: SignIn,
    },
    SignUp: {
      screen: SignUp,
    },
    myApp: { screen: App },
  },
  {
    gestureEnabled: false,
    headerMode: 'none',
  },

);

我正在登录并推送到 myApp 路由,

this.props.navigation.dispatch(
      NavigationActions.reset({
        index: 0,
        key: null,
        actions: [NavigationActions.navigate({ routeName: 'myApp' })]
      })
    );

所有导航推送和弹出 goback 工作现在我正在尝试切除不起作用。

从家里我想去登录屏幕。我正在进行注销操作

logoutPressed() {

    const resetAction = NavigationActions.reset({
              index: 0,
              actions: [NavigationActions.navigate ({ routeName:  
              'Login' })],
     });

     this.props.navigation.dispatch(resetAction);

}

错误:routeName:在 StackNavigator 中找不到“登录” 什么问题。如何修复。

最佳答案

你必须按如下方式编写堆栈导航器

 const App = StackNavigator({
      Home: {
        screen: Home,
      },
      Login: {
        screen: SignIn,
      },
  });

App StackNavigator 没有用于登录的路由,您需要在其导航中包含路由名称

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

相关文章:

ios - 从 Swift 和 React Native 访问相同的持久存储

ios - 通过蓝牙命令控制AVAudioRecorder

objective-c - 发送录制音频 POST

ios - 如何在 SwiftUI 中单击按钮时添加 UI 组件?

javascript - React.js 与 'two children with the same key' 混淆

reactjs - OpenAI API 拒绝设置不安全 header "User-Agent"

iphone - 使用 Game Center 登录在远程服务器上引导登录

javascript - 当我使用 setState 回调来toggleDropdown 时,我的下拉列表在选择项目后打开

react-native:如何在离线模式下在模拟器上运行应用程序?

ios - 如何将 iOS React Native 模板转换为 Swift?