Я пытаюсь создать график, используя ChartJS и ReactJS.Проблема, с которой я сталкиваюсь, заключается в том, что я не могу загрузить свой массив данных на график.
Нет зарегистрированных ошибок, и вот так выглядит мой график: ![enter image description here](https://i.stack.imgur.com/fEI7k.jpg)
Я думаю, что ошибкой может быть chartData
объект, который я используюдля передачи данных:
chartData:{
labels: this.timeDataArray,
datasets: this.priceDataArray,
backgroundColor:['rgba(255,99,132,0.6)']
}
Я использую act-chartjs-2 в качестве модуля для моих диаграмм и выборки для http-запроса.
Вот мой полныйкод:
export class Chart extends Component{
constructor(props){
super(props);
this.state = {
isLoading: false,
data: [],
chartData:{
labels: this.timeDataArray,
datasets: this.priceDataArray,
backgroundColor:['rgba(255,99,132,0.6)']
}
}
}
componentDidMount(){
this.fetchData();
}
fetchData(){
fetch("https://min-api.cryptocompare.com/data/histoday?fsym=BTC&tsym=USD&limit=600")
.then(response => response.json())
.then(data=>{
var fetchedData = data.Data;
var timeDataArray = [];
var priceDataArray = [];
console.log(timeDataArray)
console.log(priceDataArray)
for(var x = 0; x < fetchedData.length;x++){
var exampleTimeData = fetchedData[x].time
var examplePriceData = fetchedData[x].high
timeDataArray.push(exampleTimeData)
priceDataArray.push(examplePriceData)
}
})
.catch(error => console.log("parsing failed", error))
}
render(){
return(
<div className="chart">
<Line
data={this.state.chartData}
options={{
maintainAspectRatio:false
}}
/>
</div>
)
}
}
Вопрос: Почему мои данные не отображаются, поскольку я передаю свойство label
с метками времени и фактическими данными в виде dataset
?