如何从嵌套屏幕导航到特定导航器

时间:2021-03-22 04:10:54

标签: reactjs react-native react-navigation react-navigation-v5

现在我有以下设置

App.js

  const mainStack = createStackNavigator();

  return (
    <AuthProvider>
      <NavigationContainer ref={navigationRef}>
        <mainStack.Navigator>
          {!isUserAvailable ? (
            <mainStack.Screen name="Auth" component={AuthentificationStack}/>
          ) : (
            <mainStack.Screen
              name="Core"
              component={CoreApplicationStack}
              initialParams={{isBakerySetUp: hasBakery}}
            />
          )}
        </mainStack.Navigator>
      </NavigationContainer>
    </AuthProvider>
  );

AuthentificationStack.js

  const AuthStack = createStackNavigator();

  return (
    <AuthStack.Navigator>
      <AuthStack.Screen name="Welcome" component={WelcomeScreen} />
      <AuthStack.Screen
        name="SignUp"
        component={SignupScreen}
        options={({navigation}) => {
          return {
            headerRight: () => <SignUpHeader navigation={navigation} />,
          };
        }}
      />
      <AuthStack.Screen name="Login" component={LogInScreen} />
      <AuthStack.Screen name="PhoneNumber" component={PhoneNumberScreen}/>
    </AuthStack.Navigator>
  );

我的问题是我无法从“Auth”=>“PhoneNumber”屏幕导航到“Core”导航器堆栈。我还尝试利用我为 App.js 的堆栈导航器创建的 navigationRef;但是,我无法导航到“核心”堆栈导航器。

我也更新了 isUserAvailable(来自 asyncStorage),但由于 App.js 没有呈现,切换到核心堆栈导航器的逻辑不适用。

有什么方法可以让我从“Auth”的嵌套屏幕导航到“Core”导航器吗?

0 个答案:

没有答案