React中如何将Fetch返回的JSON对象转为单元素数组并设为状态
当然可以实现啦!
完全能在Fetch的流程里直接完成这个转换,只需要在处理返回JSON数据的步骤做个小改动就好。
你原来的代码是直接把拿到的JSON对象赋值给launchData,现在只需要把这个对象放进一个数组里——也就是用[json]替代原来的json就行。修改后的代码如下:
fetch('https://api.aes/latest') .then(response => response.json()) .then(json => { this.setState({ launchData: [json] }); })
这样处理后,你的launchData状态就会变成一个仅包含目标JSON对象作为唯一元素的数组,完全匹配你的需求。而且这种写法很灵活,如果之后API返回格式变成多对象数组,你也能轻松调整逻辑适配。
顺便提一句,第一个then里的return可以省略,写成箭头函数的简洁形式,代码会更清爽,就像上面示例里那样~
内容的提问来源于stack exchange,提问作者John Rogers
相关产品推荐
相关产品推荐

