React native 我想我需要将道具传递给子组件?

React native 我想我需要将道具传递给子组件?,react-native,React Native,代码的注释部分按预期工作,但我希望动态构建此屏幕,因此我尝试将注释代码取出并放入自己的.js文件中 显然,我做错了什么,因为我现在遇到了props.navigation.navigate未定义的问题。非常感谢您的任何见解 如果要取消注释并删除“FirstKey”,此代码将正常运行 从“React”导入React; 从“react native”导入{ScrollView,View,StyleSheet,Image}; 从“../components/HomeButton”导入HomeButton

代码的注释部分按预期工作,但我希望动态构建此屏幕,因此我尝试将注释代码取出并放入自己的
.js
文件中

显然,我做错了什么,因为我现在遇到了
props.navigation.navigate
未定义的问题。非常感谢您的任何见解

如果要取消注释并删除“FirstKey”,此代码将正常运行

从“React”导入React;
从“react native”导入{ScrollView,View,StyleSheet,Image};
从“../components/HomeButton”导入HomeButton;
从“../components/FuncButton”导入FuncButton;
从“../components/TextBold”导入TextBold;
从“../components/TextRegular”导入TextRegular;
从“../components/environments/FirstKey”导入FirstKey;
const FirstKeyScreen=props=>{
/*
//临时名称数组
var firstKeyArray=[
“蓝色帐篷”,
“神圣的胸部”,
“风中的叶子”,
“光之触”,
“瀑布”,
“洞雕石”,
“大峡谷”];
createFirstKeyFuncButtons=()=>{
设funcButtons=[];
for(设i=0;i);
}
返回按钮;
}
*/
返回(
{
props.navigation.navigate({routeName:'Home'}}}
/>
{/*
第一关键环境
{this.createFirstKeyFuncButtons()}
*/}
);
};
const styles=StyleSheet.create({
屏幕:{
弹性:1,
垫底:10
},
按钮容器:{
玛金托普:20,
对齐项目:“居中”,
},
标题字体:{
textAlign:'中心',
字体大小:32,
填充底部:20,
加油站:50
}
});
导出默认的第一个按键屏幕;
下面是我尝试将代码拉出来并放入它自己的文件(FirstKey.js)

从“React”导入React;
从“react native”导入{StyleSheet,View};
从“../FuncButton”导入FuncButton;
从“../TextBold”导入TextBold;
从“../TextRegular”导入TextReguar;
const FirstKey=props=>{
//临时名称数组
var firstKeyArray=[
“蓝色帐篷”,
“神圣的胸部”,
“风中的叶子”,
“光之触”,
“瀑布”,
“洞雕石”,
“大峡谷”];
createFirstKeyFuncButtons=()=>{
设funcButtons=[];
for(设i=0;i);
}
返回按钮;
}
返回(
第一关键环境
{this.createFirstKeyFuncButtons()}
);
}
styles=样式表.create({
标题字体:{
textAlign:'中心',
字体大小:32,
填充底部:20,
加油站:50
}
});
导出默认的FirstKey;
我的假设是,
FirstKey.js
文件中调用的道具指向自身,而不是
FirstKeyScreen.js

我想答案就在眼前,但我就是看不到。XD

尝试:
const FirstKey=({navigation})=>{…
然后导航。导航(…不带
道具。

以及:


onPress={()=>{props.navigation.navigate('Player',{title:firstKeyArray[i]}}

首先你走错了路

setp 1您的数组firstkeyArray[i]推入某个数组

ex:var temp=[]

  for (let i = 0; i < firstKeyArray.length; i++) {
    ->    temp.push(firstKeyArray[i]); 
       funcButtons.push(<FuncButton key={i} title={firstKeyArray[i]} onPress={() => {
    ->               props.navigation.navigate('Player', { title: temp })}}
                />);
for(设i=0;i温度推送(firstKeyArray[i]);
按钮。按({
->props.navigation.navigate('Player',{title:temp}}}
/>);

无骰子。错误为:undefined不是对象(评估“navigation.navigate”)
FirstKey
的父项是什么?你能发布它的代码吗?FirstKey没有父项。我专门为它制作了组件,以便在FirstKeyScreen内部调用。除非我不理解你的问题。我对你的答案投了赞成票,但我对这一点不熟悉,所以我不知道我能做的是否就是证明它是一个有效的解决方案。此外,您的编辑将道具更改为({navigation})的内容写得太多了,这仍然是一个必要的步骤。再次感谢!不幸的是,它说声誉低于15的用户所投的票不会公开显示=(.这是一个新帐户,我只有3个hahaThanks来获取信息。Rafael的评论让我找到了我需要的地方,但这看起来是正确的,所以我也会打勾。不幸的是,我离我的勾号公开还有4个点的距离,所以这似乎一点帮助都没有。哈哈。按照这个链接加入我的WhatApp小组“React native developer”不,谢谢,我不使用WhatsApp。但我会在这里留下评论,以防其他人感兴趣。
  for (let i = 0; i < firstKeyArray.length; i++) {
    ->    temp.push(firstKeyArray[i]); 
       funcButtons.push(<FuncButton key={i} title={firstKeyArray[i]} onPress={() => {
    ->               props.navigation.navigate('Player', { title: temp })}}
                />);