React Navigation 总是带我到第一个堆栈屏幕,而不是预期的屏幕

问题描述 投票:0回答:1

代码1(https://i.stack.imgur.com/d7Fkn.png)代码2(https://i.stack.imgur.com/uJBog.png)代码3(https://i.stack.imgur.com/8fjV5.png)

所以我遇到这个问题,当我按下按钮(例如个人资料页面上的收据历史记录按钮)时,它不会将我带到收据历史记录页面,而是将我带到登录页面。

任何帮助将不胜感激。

我相信无论我设置什么链接,无论是“navigation.navigate('HomeScreen')”还是“navigation.navigate('ReceiptHistoryScreen')”,它总是转到导航中列出的第一个项目。我尝试过并改变了第一个项目,它总是指向那个。

例如:

<NavigationContainer>
    <Stack.Navigator>
    <Stack.Screen name="LoginScreen" component={LoginScreen} />
    <Stack.Screen name="ReceiptHistoryScreen" component={ReceiptHistoryScreen} />
    <Stack.Screen name="ProfileScreen" component={ProfileScreen} />
    <Stack.Screen name="HomeScreen" component={HomeScreen} />
    <Stack.Screen name="RegisterScreen" component={RegisterScreen} />
    <Stack.Screen name="LoginSuccess" component={LoginSuccess} />
    <Stack.Screen name="ReceiptDetailScreen" component={ReceiptDetailScreen} />
    </Stack.Navigator>
</NavigationContainer>

<NavigationContainer>
    <Stack.Navigator>
    <Stack.Screen name="LoginSuccess" component={LoginSuccess} />
    <Stack.Screen name="LoginScreen" component={LoginScreen} />
    <Stack.Screen name="ReceiptHistoryScreen" component={ReceiptHistoryScreen} />
    <Stack.Screen name="ProfileScreen" component={ProfileScreen} />
    <Stack.Screen name="HomeScreen" component={HomeScreen} />
    <Stack.Screen name="RegisterScreen" component={RegisterScreen} />
    <Stack.Screen name="ReceiptDetailScreen" component={ReceiptDetailScreen} />
    </Stack.Navigator>
</NavigationContainer>

我设置的导航现在将转到登录成功

javascript reactjs react-native react-navigation
1个回答
0
投票

这个这个与初始路由名称。如果不给出initialRouteName,默认行为通常是显示导航配置中定义的第一条路线。例如,

`<NavigationContainer>
       <Stack.Navigator initialRouteName={ loggedin===true?'Home':'Login'} >
         <Stack.Screen name="Login" component={LoginScreen}  />
         <Stack.Screen name="Home" component={HomeScreen} />
         <Stack.Screen name="Profile" component={ProfileScreen} />
       </Stack.Navigator>
      </NavigationContainer>`
© www.soinside.com 2019 - 2024. All rights reserved.