首页 > 解决方案 > 反应导航弹出到另一个堆栈中的屏幕

问题描述

我的应用程序中有以下导航方案。使用反应导航 v2。

Main (Tab)
- Profile Stack (Stack)
  - Profile (Screen) - init
  - Settings (Screen)
  - ... (additional screens)
- Scan QR Code Stack (Stack)
  - Scan QR Code (Screen)
  - Filter Data based on qr code (Screen)
  - Filter Data of another type based on qr code (Screen)

所以我试图完成的场景是当用户扫描二维码时,我会根据二维码内容选择正确的过滤数据屏幕并将其显示给用户。现在,当用户在过滤数据屏幕上单击返回时,不应将他指向扫描二维码,而是从另一个堆栈中选择配置文件屏幕。到目前为止,我尝试了以下

let reset = StackActions.reset({
      index: 1,
      actions: [
        NavigationActions.navigate({
          routeName: "Profile"
        }),
        NavigationActions.navigate({ routeName: "FilterDataScreen" })
      ]
    });

    this.props.navigation.dispatch(reset, {
      filter: parsedJwt.payloadObj.verified
    });

但没有运气。我最终得到的错误是没有为关键配置文件定义路由,必须是扫描 QR 码、过滤数据、.. 之一,并且只有扫描 QR 码堆栈中的屏幕。这甚至可能吗?

标签: react-nativereact-navigation

解决方案


推荐阅读