我试图在我的反应应用程序中使用 fetch() 方法到 componentDidMount() 方法中。
它适用于 Postman,我从 URL 获取数据。
这是 react App 中的代码:
class WorldMap extends Component {
constructor(){
super()
this.state = {
zoom: 1,
color: "#39464E",
test: ''
}
}
componentDidMount() {
setTimeout(() => {
ReactTooltip.rebuild()
}, 100)
//get all countries in db
fetch('http://localhost:3000/country/20', {
method: 'GET',
headers: {
'Accept' : 'application/json',
'Content-Type' : 'application/json',
},
})
.then(data => {
this.setState({test: data.name_fr})
})
}
countryClick(geography){
console.log(test)
}
}
这是我尝试检索数据时在 Postman 中得到的信息:
问题是当我单击国家/地区时,我在控制台中未定义。
从您json
在邮递员中的结构来看,您似乎需要访问data.name_fr
响应。也fetch
默认为 get 并且您不需要那些额外的标题。您的提取代码可以简化为:
fetch('http://localhost:3000/country/20')
.then(res => res.json())
.then(body => console.log(body.data.name_fr))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句