大家下午好,呈現一組對象反應
我想顯示的是在初始渲染之前由MongoDB實例提供給我的應用程序的數據。我還沒有成功地做到這一點,無論是出現錯誤還是警告。
這是我正在使用的render
方法的一部分。
<div className="right-column">
<div className="pipeline">
{this.props.tournamentList.map((x,i) => {
return <li key={i}>{x.name}</li>
})}
</div>
</div>
this.props.tournamentList
具有物體的像這樣的陣列的值:
tournamentList:
Array[15]
0:
{…}
1:
{…}
2:
{…} ...
此列表來通過componentWillMount
生命週期方法我的應用程序,因此初始之前呈現。對我來說,我應該可以遍歷數組並製作由我的數據庫提供的動態生成的錦標賽列表。
然而,隨着代碼我提供我得到這樣的警告:
Uncaught (in promise) Error: Objects are not valid as a React child (found: object with keys {prelims, outRounds, notes}). If you meant to render a collection of children, use an array instead or wrap the object using createFragment(object) from the React add-ons. Check the render method of
BuildTournament .
我試過這種方法,創建一個名爲displayTournaments
並與類的「管道」,但沒有調用的div內發生,沒有錯誤沒有渲染:
displayTournaments(){
const { tournamentList } = this.props;
tournamentList.map((x,i) => {
return <li key={i}>{x.name}</li>
})
}
顯然我做錯了什麼,但我不知道是什麼。這是一個實例,我應該使用錯誤消息建議的鍵控片段?比我自己更聰明的人會願意提供一些見解嗎?
乾杯。
在'componentWillMount'生命週期掛鉤執行異步操作並不能保證數據的任何更多的幫助,請在最初的渲染。您需要撥打電話,然後更新您的狀態以觸發重新呈現。你的組件也需要一個無數據渲染狀態。 –
tournamentList的默認道具只是一個空陣列嗎?在你的情況下,在最初的商店。 – Win