React Native 如何从StackNavigator屏幕重定向到BottomTabNavigator屏幕

42fyovps  于 2023-01-09  发布在  React
关注(0)|答案(1)|浏览(171)

我正在React-Native中开发一个应用程序。我如何尝试实现这一点是通过使用SignUpCompleted标志并检查其true/false来决定页面是否应导航到下一个注册屏幕或仅导航到主页。我有3个屏幕作为注册过程的一部分,我只希望在应用程序第一次打开时显示。我在StackNavigator中有3个屏幕,我“我试图从最后一个StackNavigator屏幕导航到BottomTabNavigator屏幕。不幸的是,我得到了以下错误:
任何导航器均未处理负载为{“name”:“HomeStack”}的操作“NAVIGATE”。
我当前的设置如下:

注册堆栈

const SignUpStack = createStackNavigator();

export default function SignUpStackScreen() {
    const [signUpCompleted, setSignUpCompleted] = useState(false);
  
    return (
    <SignUpStack.Navigator initialRouteName="Welcome" screenOptions={{ headerShown: false }}>
      <SignUpStack.Screen name="Welcome" component={WelcomeScreen} initialParams={{signUpCompleted}} />
      <SignUpStack.Screen name="Department" component={ChooseDepartment} initialParams={{signUpCompleted}} />
      <SignUpStack.Screen name="InputName" component={InputName} initialParams={{signUpCompleted, setSignUpCompleted}}/>
    </SignUpStack.Navigator>
  );
}

我尝试从InputName组件重定向到名为homename的BottomTabNavigator屏幕

重定向代码如下:-在InputName组件中

<TouchableOpacity
    style={[styles.shadow]}
    onPress={() => {navigation.navigate("HomeName"); setSignUpCompleted(true)}}
>

BottomTabNavigator如下所示:-我正在尝试重定向到HomeStack组件

-const Tab = createBottomTabNavigator();

export default function Tabs() {
  return (
    <Tab.Navigator initialRouteName={homeName} >
      <Tab.Screen name={ResultsName} component={ResultatenStack} />
      <Tab.Screen name={homeName} component={HomeStack} />
      <Tab.Screen name={settingsName} component={SignUpStack} />
    </Tab.Navigator>
  );
}

当使用相同的导航方法指向堆栈中的屏幕时,我已经在使用了,它工作得很好。我希望有人能给予我任何指针或帮助!如果你需要任何更多的信息,请随时联系!
附言:我是一个非常新的React,所以我道歉,如果我错过了信息。

nwnhqdif

nwnhqdif1#

我猜你正在尝试从堆栈导航器导航到标签导航器,这在react native中并不理想,你必须使用嵌套导航器
我的意思是你必须使用标签导航器作为堆栈导航器中的屏幕
这是嵌套导航器https://reactnavigation.org/docs/nesting-navigators/React导航文档

相关问题