相关疑难解决方法(0)

将参数传递给选项卡导航器 React Navigation 5

我正在使用materialTopTabs,似乎这会在安装后加载导航器中的所有屏幕。我有一个屏幕列表,其中有一个带有 2 个屏幕的选项卡导航器:PostsUsers。这两个屏幕都取决于从List传递的参数。但是,我只能使用此方法将参数传递到屏幕之一:

navigation.navigate('PostsTabNav', {
  params: {
    network: item,
  },
  screen: 'NetworkPosts' //or NetworkUsers
});
Run Code Online (Sandbox Code Playgroud)

我试图通过这样做直接将参数传递给我的导航器:

navigation.navigate('PostsTabNav', {
  network: item
});
Run Code Online (Sandbox Code Playgroud)

第一个选项只允许我传递到一个屏幕。第二个选项允许我像这样访问导航器中的参数:

const PostsTabNav = createMaterialTopTabNavigator();
const PostsMainNav = (props) => {
    const temp = props.route.params.network; //params here

    return (
        <PostsTabNav.Navigator>
            <PostsTabNav.Screen name="NetworkPosts" component={NetworkPostsScreen} />
            <PostsTabNav.Screen name="NetworkUsers" component={NetworkUsersScreen} />
        </PostsTabNav.Navigator>
    );
};
Run Code Online (Sandbox Code Playgroud)

有没有办法传递temp到我的两个屏幕?如果没有,有没有更好的方法来处理这种情况?

这是代码 StackNavigator

const NetworkListStackNav = createStackNavigator();
export const NetworksListNavigator = () => {
    return ( …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-navigation react-navigation-bottom-tab react-navigation-v5

9
推荐指数
2
解决办法
1万
查看次数