我有一个签名屏幕组件,我想在用户未登录时默认显示它。在登录后,我想重定向到主页。以下是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'
}
)
我正在使用Graphql和主要组件App.tsx中的react-apollo
class App extends React.Component<any,any> {
render() {
return (<ApolloProvider client={client}>
<RootWithSession/>
</ApolloProvider>)
}
}
我想访问SignIn
组件中的访问导航道具该怎么做?
简短回答,您无法在createStackNavigator中访问导航道具。有2种方法
您可以升级到react-navigation-v5,因为api更好,并且在构建导航器时可以访问道具或状态。
在SignIn
组件内添加一些逻辑以导航到HomePage
或其他内容