对不起,如果标题不是很好,但我想要做的是:
componentDidMount() {
axios.get('http://thecatapi.com/api/images/get?format=xml&results_per_page=9')
.then((response) => {
parseString(response.data, (err, result) => {
result.response.data[0].images[0].image.map((cat) => this.setState({ cats: this.state.cats.concat(cat) }))
})
});
}
这个函数,从catapi中拉出来,然后将我的cat状态数组的状态设置为每个cat对象。每个cat对象都有来自cat api的3个键,如何为每个数组对象添加一个名为likes
的额外键?
this.setState({ cats: this.state.cats.concat(cat), likes: 0 })
但很明显,这样做了
谁有任何想法?答案 0 :(得分:0)
啊做完了
只需要像这样添加它:
result.response.data[0].images[0].image.map((cat) => (
cat.likes = 0,
this.setState({ cats: this.state.cats.concat(cat) }))
)
答案 1 :(得分:0)
.map()返回一个数组,我相信这意味着你要返回一个调用setState的项数组。在没有看到整体逻辑的情况下,我无法确定您正在做什么,但我可能会获取数据,将其映射到新的对象数组,在地图中添加密钥,最后使用新映射的数组进行setState。