我在我的应用程序上创建了一个登录屏幕和一个创建帐户屏幕。我有一些按钮可以来回切换。两个屏幕单独使用时都很好。当我这样做时,经常会出现如下的视觉错误:
我的App.js代码:
const App = () => {
return (
<NavigationContainer theme={theme}>
<Stack.Navigator screenOptions={{ headerShown: false}} initialRouteName="CreateAccountScreen">
<Stack.Screen name ="CreateAccountScreen" component={CreateAccountScreen} />
<Stack.Screen name ="SignInScreen" component={ SignInScreen } />
</Stack.Navigator>
</NavigationContainer>
);
}
来自每个屏幕按钮的代码(来回切换):
onSignUpButtonPressed = () => {
navigation.navigate("SignInScreen")
}
onCreateAccountButtonPressed = () => {
navigation.navigate("CreateAccountScreen")
}
Displays seem to overlay themselves in a bad way
我尝试了很多方法,在几个屏幕上都出现了这种情况...
1条答案
按热度按时间xzlaal3s1#
initialRouteName
的设置如我们所见,但在Stack.Screen
上,您还为其给予了Component属性。我根据导航的外观做了一个测试,没有发现您显示的视觉错误,所以我认为如果您删除component属性,并将component标记放在
Stack.Screen
中(如下所示),它可能会工作。您的问题中也没有这样定义
Stack
的代码:const Stack = createStackNavigator();