我目前正在尝试从列表中的iTunes API中呈现播客列表,并在我的页面上显示所有这些播客。
这是我的代码:https://gist.github.com/JelaniThompson/bd5d9127b80641b4483b9273f97df289
在第24行,我定义了我的显示变量,然后在return语句中呈现它,但它没有出现。但是,当我将相同的值记录到控制台时,所有的节目名称都会出现。
在页面上显示数组值的正确方法是什么?
答案 0 :(得分:0)
当然不会! 那是因为名字是一个空数组!
解决方案:
1-将此添加到类中,并从文件顶部删除名称,图像和摘要:
constructor(props){
super(props)
this.state = {
names : [],
images : [],
summaries : []
}
}
2-在构造函数中调用获取数据并将其从render方法中删除(你不应该在render中调用render,你最终会有一个无限循环!):
constructor(props){
super(props)
this.state = {
names : [],
images : [],
summaries : []
}
let that = this
fetch(topFifty).then(function(response) {
return response.json().then(function(json) {
let names = [], images = [], summaries = []
json.feed.entry.forEach(function(datum) {
names.push(datum["im:name"].label)
images.push(datum["im:image"][0].label)
summaries.push(datum.summary.label)
})
that.setState({names:names,
images: images,
summaries: summaries})
})
})
}