实际行为:
我正在为一个项目实施身份验证流程。当用户未成功登录时,我正在渲染一堆带有登录屏幕的屏幕作为初始路由。并在用户登录成功时以主屏幕作为初始路由呈现另一组屏幕。
我的问题是,当用户登录成功时,不是直接出现主屏幕,而是登录屏幕出现几秒钟,不允许任何屏幕交互,然后主屏幕出现一些类似于 react-navigation 推送转换的动画。
预期行为:
我想在成功登录时显示主屏幕,没有上面提到的任何错误。
环境:
“react-native”:“0.61.5”,“@react-navigation/native”:“^5.0.5”,“@react-navigation/stack”:“^5.0.5”“react-native-reanimated” :“^1.7.0”、“react-native-safe-area-context”:“^0.7.3”、“react-native-screens”:“^2.0.0-beta.7”、“@react-本机社区/屏蔽视图”:“^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>
);
}