实际行为:
我正在为项目实施身份验证流程。当用户未成功登录时,我将使用登录屏幕作为初始路径来渲染一堆屏幕。当用户登录成功时,以主屏幕作为初始路径渲染另一组屏幕。
我的问题是,当用户登录成功时,登录屏幕会出现几秒钟而不允许任何屏幕交互,而不是直接显示主屏幕,然后主屏幕会出现一些类似于“反应导航”推送过渡的动画。 / p>
预期行为:
我想在成功登录后显示主屏幕,而没有如上所述的任何错误。
环境:
“ react-native”:“ 0.61.5”,“ @ react-navigation / native”:“ ^ 5.0.5”, “ @ react-navigation / stack”:“ ^ 5.0.5”“ react-native-reanimated”: “ ^ 1.7.0”,“反应本机安全区域上下文”:“ ^ 0.7.3”, “ react-native-screens”:“ ^ 2.0.0-beta.7”, “ @ react-native-community / masked-view”:“ ^ 0.1.6”,
代码:
homeStack = () => {
return (
<>
<Stack.Screen name="Home" component={Home} options={{ headerShown: false }} />
<Stack.Screen name="JobsFormsList" component={JobsFormsList} />
<Stack.Screen name="Forms" component={Forms} />,
<Stack.Screen name="SignTemp" component={SignTemp}
options={{ headerShown: false }}
/>
</>
);
}
loginStack = () => {
return (
<>
<Stack.Screen name="Login" component={Login} options={{ headerShown: false }} />
<Stack.Screen name="Home" component={Home} options={{ headerShown: false }} />
<Stack.Screen name="JobsFormsList" component={JobsFormsList} />
<Stack.Screen name="Forms" component={Forms} />,
<Stack.Screen name="SignTemp" component={SignTemp}
options={{ headerShown: false }}
/>
</>
);
}
render() {
return(
<NavigationContainer>
<Stack.Navigator screenOptions={{ gestureEnabled: false }}>
{this.state.user_data === null ? this.loginStack() : this.homeStack()}
</Stack.Navigator>
</NavigationContainer>
);
}