React中render內不能直接使用物件解決方法

2021-10-08 22:18:18 字數 1479 閱讀 7195

報錯資訊當時沒記下來,只記得情景。業務**不好貼上,直接寫幾個demo值,沒加樣式等,簡單模擬。

(食物種類<

/div>

蘋果種類:<

/label>

<

/span>

<

/div>

牛奶種類:<

/label>

<

/span>

<

/div>

橘子種類:<

/label>

<

/span>

<

/div>

<

/div>);

}}export

default demo這麼寫會報錯,foodobj中雖然有值,也能取值,但是在render中不能直接obj.屬性來引用,也不能obj['屬性']來引用。

改bug的時候一直糾結於物件取值、物件轉換為陣列、物件為空時取值判斷、物件轉換為陣列物件再遍歷取值……繞了好多彎路,最後抱著嘗試的心態試出來的,雖然也很奇怪,為state中的變數賦state中其他變數的值。

正確寫法:在state中設定幾個值,將obj中的值賦值給state中的值,再使用。

橘子種類:<

/label>

<

/span>

<

/div>

<

/div>);

}}export

default demo這樣就ok了。

react中關於render渲染次數的效能優化

在普通元件裡面可以使用shouldcomponentupdate鉤子函式提公升react效能。nextprops,nextstate 在內部可以判斷元件外部接受的最新屬性與之前的屬性是否一致,從而約束render重新整理的時機。只要結果返回true,render就會立馬執行渲染更新,返回false就...

React中render 下獲取子級資料錯誤問題

今天react antd mobx專案開發的時候,遇到了乙個問題,應該是生命週期渲染問題吧。具體是這樣的 位於render 中,這裡假定我要獲取data.questionnaiteproblemlist下的第一項的id。data是獲取到的資料物件,其中包含乙個物件陣列questionnairepro...

React 如何阻止render重複渲染相同的資料

記錄react學習遇到的問題 react官方說明 import react from react class demo extends purecomponent 如果賦予 react 元件相同的 props 和 state,render 函式會渲染相同的內容,那麼在某些情況下使用 react.pu...