我有一个组件“Form”。我也有一些从我的mongoDB数据库中获得的数据,并且其状态为(myData)
I dispatch。为什么我无法从这个对象渲染数据?我怎么能够?
所以在表单组件,我有一个mapstatetoprops
功能myData的转换为道具。 myData是一个对象。
我想从myData的对象使用数据并显示一些在该部件的返回功能该对象的属性。
当我在渲染方法输入:
const {myData} = this.props;
console.log(myData);
我可以看到我的对象及其在控制台的内容,我想要的方式。
{} myData的看起来像这样:
{ title: "mytitle", comments: [{comment: "qqq", vote: 1}, {comment: "www", vote: 2}]}
但是,由于某种原因,我不明白,我不能在组件的回归方法使用{myData}
。当我这样做时,我收到以下错误消息:
对象作为React子项无效。如果你的意思是渲染 收集儿童的,使用数组来代替或使用包裹从 对象的阵营附加
我明白你不能在返回使用对象。但它是我拥有的一个对象,而不是一个Array。
我希望我能在我的return : {myData.title}
写这篇文章,看看标题时,我的组件呈现。
下返回错误信息:myData is undefined
render(){
const {myData} = this.props;
console.log(myData);
return(
<div>{myData.title}</div>
)
好了,这工作:) 时,你说,它没有找到myData的内道具值你说的没错。控制台日志返回'未定义',然后'[HMR]连接',然后只有对象。 你能否详细说明:_is此刻计算展开的性质,不是现在的console.log被called_ 我不明白这一点。或者你有链接? –
这意味着假设你有一个具有一些值的对象a,并且你做了'console.log(a)',之后你在'console'中做了一些改变,你会看到更新的'a'值不是原始值,即使您在执行“a”中的更改之前使用了'console.log'。在展开“对象”时,始终会在运行时计算均值,它将打印出“a”的更新值。 –
为了避免这种情况,并以更清晰的方式编写代码,是否意味着我应该在父组件中连接我的“myData”状态,而不是使用myData的组件? –