8.6 - Bitcoin API Completed Code
Bitcoin.js
import React, { Component } from 'react';
import LineChart from './LineChart';
import InfoBox from './InfoBox';
export default class Bitcoin extends Component {
constructor() {
super();
this.state = {
fetchingData: true,
data: [],
}
}
componentDidMount() {
const url = 'https://api.coindesk.com/v1/bpi/historical/close.json';
fetch(url)
.then(response => response.json())
.then(bitcoinData => {
console.log(bitcoinData.bpi);
this.setState({
data: bitcoinData.bpi,
fetchingData: false
})
})
.catch(e => {
console.log(e);
})
}
render() {
return (
<div className='main'>
<div className='mainDiv'>
<h1>30 Day Bitcoin Price Chart</h1>
{ !this.state.fetchingData ? <InfoBox data={ this.state.data }/> : null }
{ !this.state.fetchingData ? <LineChart data={ this.state.data }/> : null }
</div>
</div>
);
}
};LineChart.js
InfoBox.js
Last updated