【发布时间】:2020-03-09 17:59:47
【问题描述】:
我有一个签名屏幕组件,我想在用户未登录时默认显示它。登录后我想重定向到主页。
以下是createStackNavigator 设置:
const MainStack = createStackNavigator(
{
Home: { screen: TabStack },
User: { screen: UserProfile },
Login: {screen: SignIn },// Want to access navigation prop in this component
Post: { screen: Post },
},
{
initialRouteName: 'Login',
mode: 'modal',
headerMode: 'none'
}
)
我在主组件 App.tsx
中使用 Graphql 和 react-apolloclass App extends React.Component<any,any> {
render() {
return (<ApolloProvider client={client}>
<RootWithSession/>
</ApolloProvider>)
}
}
我想访问SignIn 组件中的访问导航属性怎么做?
【问题讨论】:
-
你需要有一个父组件来为你存储状态。将 handleLogin 属性从父组件传递到登录界面(子组件)。当用户登录时调用 this.props.handleLogin ,它将更新父组件中的 isLoggedin Prop。渲染时可以检查 isLoggedin 是否为真。
-
@GregM 我的问题是导航道具。当我的登录组件中没有导航道具时,如何重定向到主页。
标签: reactjs asp.net-mvc react-native react-navigation react-navigation-stack