我对ReactNative很新,而且我的javascript也不是很好,所以请原谅我,如果这是愚蠢的(我已经搜遍了谷歌和stackoverflow,并且似乎找不到我的直接答案问题):
我有一个我已定义的简单组件:
export default class SPlanet extends React.Component {
constructor(props) {
super(props)
}
render() {
const planet = this.props ? this.props.planet : null;
console.log(planet);
return (
<View>
<Text>{this.props.planet}</Text>
</View>
);
}
}
它在app.js中调用如:
<SPlanet planet={planetDB.Atraxia}/>
并且该对象的定义如下:
const planetDB = {
Atraxia : {
type : "gas",
name : "Atraxia",
economy : 10,
resources : 3,
loyalty : "70%",
side : "enemy"
},
}
现在这基本上有效(它不会引发任何错误)。它只是将对象传递给控制台日志,但不会在文本中显示任何内容。
但是,如果我只想显示名字呢?我试过了
console.log(planet.name);
但会抛出错误:&#34; undefined不是对象&#34;
我也尝试将其作为一个简单的数组发送,然后将其称为
console.log(planet[0]);
但是我得到了同样的错误。
我确信这是一个愚蠢的错误,我错过了语言基础的东西,但我很难过。帮助
答案 0 :(得分:0)
在玩完它之后,我发现了这个:
{{1}}
通过在行星名称周围添加引号,突然现在它起作用了。我不知道为什么。如果somone可以向我解释原因,我会将它们标记为答案。