如何在反应导航中将道具传递给屏幕组件

How to pass props to a screen component in react navigation

我有一个看起来像这样的导航器,我正在尝试将信息传递到它下面的所有选项卡。


import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs';


const Tab = createMaterialTopTabNavigator();

      <Tab.Navigator
        swipeEnabled={false}
        initialRouteName="TabMapScreen"
        screenProps={user} // I've tried this
        initialLayout={{width: Dimensions.get('window').width}}
      >
        <Tab.Screen
          name="TabMapScreen"
          component={PostsTab}
        />
        <Tab.Screen
          name="TabMapScreen"
          component={() => <PostsTab props={user} />} // also tried this
        />
      </Tab.Navigator>

将道具直接从导航器传递到屏幕的正确解决方案是什么?

有很多方法可以通过屏幕传递参数,在此了解更多信息linkcontext api

你可以使用初始参数

     <Tab.Screen
          name="TabMapScreen"
          component={PostsTab}
          initialParams={{userData: user}} //User data is just an alias
        />