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>
添加回答
举报