所以我遇到这个问题,当我按下按钮(例如个人资料页面上的收据历史记录按钮)时,它不会将我带到收据历史记录页面,而是将我带到登录页面。
任何帮助将不胜感激。
我相信无论我设置什么链接,无论是“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>
我设置的导航现在将转到登录成功
这个这个与初始路由名称。如果不给出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>`