【问题标题】:How to send params data to the screen which is in drawer stack. in react native如何将参数数据发送到抽屉堆栈中的屏幕。在本机反应
【发布时间】:2021-05-26 09:27:33
【问题描述】:

如何将 Params 数据发送到抽屉堆栈中的屏幕。

这是我的登录屏幕代码,我想将 loginAs 数据发送到 MyDrawer 堆栈中的 homeScreen。

 onPress={() => this.props.navigation.navigate("MyDrawer", {loginAs : `${this.state.nature}`})}

这是我的 MyDrawer 堆栈


function App({ navigation }) {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="loginScreen" component={loginScreen}  options={{headerShown: false}} />
        <Stack.Screen name="MyDrawer" component={MyDrawer}  options={{headerShown: false}} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

function MyDrawer({ navigation }) {
  return (
    <Drawer.Navigator initialRouteName="homeScreen">
      <Drawer.Screen name="homeSreen" component={homeScreenStack} 
       options={{drawerLabel: 'Home',}}
      />
    </Drawer.Navigator>
  );
}

【问题讨论】:

    标签: javascript react-native parameters navigation


    【解决方案1】:

    你像这样直接导航到你的homeScreen

        onPress={() => this.props.navigation.navigate("homeScreen", {loginAs : `${this.state.nature}`})}
    

    然后在您的 homeScreenStack 组件中,您将获得您的 params,就像您通常所做的那样

        const loginAs = navigation.params?.loginAs;
    

    注意:您在Drawer.Screenname 属性中有错字,您输入的是homeSreen 而不是homeScreen,所以请注意这一点。

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多