Json 无法获得任何费率';s值
我正在尝试从exchangeratesapi加载数据,但我无法加载exchangerates的数据Json 无法获得任何费率';s值,json,reactjs,api,load,Json,Reactjs,Api,Load,我正在尝试从exchangeratesapi加载数据,但我无法加载exchangerates的数据 componentDidMount() { this.setState({loading: true}) fetch("https://api.exchangeratesapi.io/latest") .then(response => response.json()) .then(data => {
componentDidMount() {
this.setState({loading: true})
fetch("https://api.exchangeratesapi.io/latest")
.then(response => response.json())
.then(data => {
console.log(data)
this.setState({
loading: false,
currency: data,
})
})
}
和渲染的内部
var text = this.state.loading ? "loading..." : this.state.currency.bulgaria
但我相信有更好的方法可以做到这一点。您正试图直接从
货币
访问该属性,但它存在于费率中
这是不正确的:
{this.state.currency.RON}
应该是:
{this.state.currency.rates.RON}
同样,您创建的变量文本不会在任何地方使用。我想应该是这样的:
render() {
const {loading, currency} = this.state;
console.log(currency); //only for debugging
return (
{ loading? 'Loading...' : (
<div>
<p>{currency.rates.RON}</p>
</div>)
}
)
}
render(){
const{loading,currency}=this.state;
console.log(货币);//仅用于调试
返回(
{正在加载?'正在加载…':(
{currency.rates.RON}
)
}
)
}
我尝试了{this.state.currency.rates.RON}
但根本不起作用,它给了我“TypeError:无法读取未定义的属性'RON'”@Tingyunalu!你能控制一下currency的值,看看它是否有服务响应吗。检查更新的答案。
{this.state.currency.rates.RON}
render() {
const {loading, currency} = this.state;
console.log(currency); //only for debugging
return (
{ loading? 'Loading...' : (
<div>
<p>{currency.rates.RON}</p>
</div>)
}
)
}