2 回答

TA貢獻1798條經驗 獲得超3個贊
在本節中:
?<div>
? ? ? ? {this.state.names.map((name, i) => {
? ? ? ? ? <div key={i}>
? ? ? ? ? ? <li>
? ? ? ? ? ? ? // Not sure what to put here....
? ? ? ? ? ? ? {name[i]}
? ? ? ? ? ? </li>
? ? ? ? ? </div>
? ? ? ? })}
? ? ? </div>
您應該首先檢查地圖功能是如何工作的。您應該命名數組中的單個元素(每個硬幣),而不是name 。所以它會變成這樣:
<div>
? ? {this.state.names.map((coin, i) => {
? ? ? <div key={i}>
? ? ? ? <li>
? ? ? ? ??
? ? ? ? ? {coin.name}
? ? ? ? </li>
? ? ? </div>
? ? })}
? </div>
其中name只是 json 對象coin的一個屬性。這有道理嗎?

TA貢獻1828條經驗 獲得超3個贊
首先,您必須從地圖回調中返回一些內容:
{
this.state.names.map((name, i) => {
return (
<div key={i}>
<li>
// Not sure what to put here....
{name[i]}
</li>
</div>
)
})
}
或者你可以使用另一種變體:
this.state.names.map((name, i) => (
<div>...</div>
)
第二個 - yourname是對象{CoinInfo: {…}, RAW: {…}, DISPLAY: {…}} 所以如果你想在里面放一個名字,li只需像上面那樣獲取它:name.CoinInfo.Name。
{
this.state.names.map((name, i) => {
return (
<div key={i}>
{name.CoinInfo.Name}
</div>
)
})
}
如果您不確定是否name只是控制臺在返回 JSX 之前將其記錄在回調中。
順便說一句,您不需要使用await this.getData()justthis.getData()并且不要進行componentDidMount()異步。并且不要使用<li>沒有 - 的標簽,或者只是將名稱放入div其中<li>
添加回答
舉報