如何将道具传递到TabNavigator中的屏幕?

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

如何将道具传递到TabNavigator中的屏幕组件?我所说的是FindDestinationScreen。我想以某种方式将包装<AppContainer>并将道具传递到我的屏幕的HOC。

我尝试过不同的解决方案,人们已经在这里回答了类似的问题,但无法使其正常工作。

这是我的代码,这是我的app.js:

import { SafeAreaView, View } from "react-native";

import { createAppContainer } from "react-navigation";
import { createMaterialBottomTabNavigator } from "react-navigation-material-bottom-tabs";

import Icon from "react-native-vector-icons/Ionicons";

import FindDestinationScreen from "./src/screens/FindDestinationScreen";
import CurrentTripScreen from "./src/screens/CurrentTripScreen";

const TabNavigator = createMaterialBottomTabNavigator(
  {
    FindDestinationScreen: {
      screen: FindDestinationScreen,
      navigationOptions: {
        title: "Search",
        tabBarIcon: ({ tintColor }) => (
          <SafeAreaView>
            <Icon
              style={[{ color: tintColor }]}
              size={25}
              name={"ios-search"}
            />
          </SafeAreaView>
        )
      }
    },
    CurrentTripScreen: {
      screen: CurrentTripScreen,
      navigationOptions: {
        title: "Trip",
        tabBarIcon: ({ tintColor }) => (
          <SafeAreaView>
            <Icon style={[{ color: tintColor }]} size={25} name={"ios-train"} />
          </SafeAreaView>
        )
      }
    },
  {
    shifting: false,
    labeled: true,
    initialRouteName: "FindDestinationScreen",
    activeColor: "#ffffff",
    inactiveColor: "#000",
    barStyle: { backgroundColor: "#456990", height: 80, paddingTop: 10 }
  }
);

const AppContainer = createAppContainer(TabNavigator);

export default App = () => {
  return <AppContainer />;
};

我想发生什么

:假设我写了“``''。是否可以在TabNavigator中编写的屏幕中检索此道具?我的意思是,如果我以其他方式编写道具,是否可以使用该道具?

我尝试过的内容:

我已经尝试过上面的代码,还尝试过TabNavigator中的prop,就像<FindDestionationScreen testProp="testString">这可行,但是我不想在每个屏幕上都写。

如何将道具传递到TabNavigator中的屏幕组件?我所说的是FindDestinationScreen。我想以某种方式将包装并将道具传递给我的...

react-native material-ui react-navigation
1个回答
0
投票

如果要使用上下文API,请创建上下文,并使用提供程序包装根应用程序组件/ AppStack,然后可以使用useContext钩子访问任何屏幕/页面中的所有状态。例如;

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