Я создаю базовое веб-приложение для измерения биткойнов, которое показывает скорость биткойнов. Я делаю вызов API в методе componentDidMount () и получаю данные успешно. Но когда я использую его в JSX, он выдает ошибку this.state.ValueOfBitcoin.bpi не определено
вот мой App.js
import React, {Component} from 'react';
import './App.css';
import axios from 'axios';
class App extends Component {
constructor(props) {
super(props);
this.state = {
ValueOfBitcoin: []
}
}
componentDidMount(){
axios.get('https://api.coindesk.com/v1/bpi/currentprice.json')
.then(response => {
var valueofbitcoin = response.data;
console.log(valueofbitcoin);
this.setState({ValueOfBitcoin: valueofbitcoin})
console.log(this.state.ValueOfBitcoin.bpi.USD.rate);
})
}
render(){
console.log(this.state.ValueOfBitcoin);
return (
<div className="App">
<h1>Bitcoin meter</h1>
<div>
<h2>Eur</h2><p>{this.state.ValueOfBitcoin.bpi.EUR.rate}</p>
</div>
<div>
<h2>GBP</h2><p>{this.state.ValueOfBitcoin.bpi.GBP.rate}</p>
</div>
<div>
<h2>USD</h2><p>{this.state.ValueOfBitcoin.bpi.USD.rate}</p>
</div>
</div>
)
}
}
export default App;
bpi - это объект внутри основного объекта, который я получаю от вызова API. в bpi у меня есть объекты EUR, GBP & USD, у которых есть ключ ставки.
Также this.state.ValueOfBitcoin.bpi.USD.rate в componentenetDidMount () успешно выходит из системы. Но когда я использую this.state.ValueOfBitcoin.bpi.USD.rate, он выдает this.state.ValueOfBitcoin.bpi не определено
Может кто-нибудь помочь?