Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将JSON从materialTopTabNavigator传递到其他屏幕组件react native?_Reactjs_React Native_React Redux_React Navigation - Fatal编程技术网

Reactjs 如何将JSON从materialTopTabNavigator传递到其他屏幕组件react native?

Reactjs 如何将JSON从materialTopTabNavigator传递到其他屏幕组件react native?,reactjs,react-native,react-redux,react-navigation,Reactjs,React Native,React Redux,React Navigation,我有一个JSON,它从一个组件传递到另一个组件,并且有不同的组件屏幕选项卡。我如何将JSON从主MyTabs组件传递到其他组件屏幕。在这里,id变量由JSON数据组成,我如何将其传递回主页和设置组件 const tab = createMaterialTopTabNavigator(); const Mytabs = (props) =>{ const id = props.route.params; return( <tab.Navigator initialRouteNa

我有一个JSON,它从一个组件传递到另一个组件,并且有不同的组件屏幕选项卡。我如何将JSON从主MyTabs组件传递到其他组件屏幕。在这里,id变量由JSON数据组成,我如何将其传递回主页和设置组件

const tab = createMaterialTopTabNavigator();
const Mytabs = (props) =>{
const id = props.route.params;
return(

 <tab.Navigator   initialRouteName="home" >
  <tab.Screen  name="home" component={HomeScreen}   />
  <tab.Screen name="Settings" component={SettingsScreen}  />
 </tab.Navigator>
  
 );
 }
const tab=createMaterialTopTabNavigator();
常量Mytabs=(道具)=>{
const id=props.route.params;
返回(
);
}

React导航屏幕有一个
initialParams
道具,您可以使用它传递
id

从文件中:

您还可以将一些初始参数传递给屏幕。如果导航到此屏幕时未指定任何参数,将使用初始参数。它们还与您传递的任何参数浅合并。可以使用initialParams属性指定初始参数


阅读以查看将参数传递给routes的所有方法。

使用initialParams时,我遇到错误:导航器只能包含“Screen”组件作为其直接子项(找到“[object,object])。是否可以编辑您的问题并添加代码?这听起来像是一个语法错误。是的,有一个语法错误,但是现在当我使用initialParams传递时,我得到了一个964号,当我控制台登录到我接收的组件时,在我的json中不存在,当我控制台登录到“id.class”时,我得到了未定义,类是json对象。这不是
initialParams
的问题,但是,这意味着您没有将数据作为道具正确地传递给
Mytabs
。它起了很多作用。我直接使用了从initialParams传递的id,您能否建议其他方法,让我们不使用initialParams来传递此数据。
...
<tab.Screen
  name="home"
  component={HomeScreen}
  initialParams={{ id: id }}
/>
<tab.Screen
  name="Settings"
  component={SettingsScreen}
  initialParams={{ id: id }}
/>
...
function HomeScreen({route}) {
   const {id} = route.params
   ... // Do something with the id
}