如何在react-native中访问createStackNavigator组件中的导航道具

问题描述 投票:0回答:1

我有一个签名屏幕组件,我想在用户未登录时默认显示它。在登录后,我想重定向到主页。以下是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组件中的访问导航道具该怎么做?

reactjs asp.net-mvc react-native react-navigation react-navigation-stack
1个回答
0
投票

简短回答,您无法在createStackNavigator中访问导航道具。有2种方法

  1. 您可以升级到react-navigation-v5,因为api更好,并且在构建导航器时可以访问道具或状态。

  2. SignIn组件内添加一些逻辑以导航到HomePage或其他内容

© www.soinside.com 2019 - 2024. All rights reserved.