我有一個組件「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的組件? –