【发布时间】:2018-06-23 08:01:47
【问题描述】:
我对 JSON 对象/数组和 map 方法的语法和结构有困难。我是 React 新手,处于学习的初始阶段。
这是我在下面粘贴的 JSON 文件代码:
[
{
"cloud":"Asia",
"availability":{
"last15Min":"100%",
"last24Hour":"100%"
},
"data_centers":[
{
"title":"Bombay",
"availability":{
"last15Min":"100%",
"last24Hour":"100%"
}
},
{
"title":"Bombay1",
"availability":{
"last15Min":"100%",
"last24Hour":"100%"
}
}
]
},
{
"cloud":"Europe",
"availability":{
"last15Min":"100%",
"last24Hour":"100%"
},
"data_centers":[
{
"title": "Bombay",
"availability": {
"last15Min": "100%",
"last24Hour": "100%"
}
},
{
"title":"Bombay1",
"availability":{
"last15Min":"100%",
"last24Hour":"100%"
}
}
]
}
]
到目前为止,这是我的代码:我想使用 map 方法渲染每个字段。 这样做的正确方法是什么?
在 componentDidMount 中,我在 console.log 中得到响应 http://prntscr.com/i09rqt
constructor(props) {
super(props)
this.state = {
clouds:[]
}
}
componentDidMount() {
var url="<api url>";
fetch(url)
.then(response => {
return response.json();
}).then(d => {
let clouds = d.map((cloudData)=>{
return(
<div>{cloudData}</div>
)
})
this.setState({clouds: clouds});
console.log("state", this.state.clouds)
})
}
render() {
return (
<div>
{
this.state.clouds.map((cloud =>
<th key="">
{cloud}
</th>
))
}
</div>
);
}
【问题讨论】:
标签: json reactjs ecmascript-6 jsx