【发布时间】:2020-12-23 14:49:16
【问题描述】:
我正在尝试根据 redux 商店状态在我的应用中呈现 2 个不同的屏幕。
const App = () => {
return (
<Provider store={store}>
<NavigationContainer ref={navigationRef}>
{store.getState().auth.id ? (
<Home />
) : (
<Stack.Navigator screenOptions={HeaderStyles}>
<Stack.Screen
name='Splash'
component={Splash}
options={{ headerShown: false }}
/>
<Stack.Screen name='SignUp' component={SignUp} />
<Stack.Screen name='Login' component={Login} />
</Stack.Navigator>
)}
</NavigationContainer>
</Provider>
);
};
启动时store.getState().auth.id 未定义,因此应用程序正确显示启动画面。在此屏幕中,我在商店中设置了 auth.id,但应用程序不会重新呈现并停留在启动画面中。如果我保存任何源文件而不更改任何内容,如果强制重新渲染并且我会正确路由到主页。
如何强制三元运算符在 store 发生变化时再次求值?
【问题讨论】:
标签: react-native redux react-redux