当我想运行代码时,在初始化错误之前,我已经无法访问“chartjs”。我从API中获取数据,并希望使用此API创建条形图。但是,当我获取这些数据并想要创建chart.js所需的结构时,我无法访问错误。
import "./App.css";
import BarChart from "./components/BarChart";
import { useEffect, useState } from "react";
import axios from "axios";
function App() {
const [chartjs, setChartjs] = useState({
labels: chartjs.data.map((item) => item.Year),
datasets: [
{
labels: "Population",
data: chartjs.data.map((item) => item.Population),
},
],
});
const url =
"https://datausa.io/api/data?drilldowns=Nation&measures=Population";
useEffect(() => {
axios.get(url).then((response) => {
setChartjs(response.data);
});
}, [url]);
if (chartjs) {
chartjs.data.map((item) => {
console.log(item.Year);
});
}
// const [userData, setUserData] = useState({
// labels: chartjs.data.map((item) => item.Year),
// datasets: [
// {
// labels: "Population",
// data: chartjs.data.map((item) => item.Population),
// },
// ],
// });
return (
<div>
<BarChart chartData={chartjs} />
</div>
);
}
export default App;我是BarChart.js
import React from "react";
import { Bar } from "react-chartjs-2";
import {Chart as ChartJS} from "chart.js/auto"
const BarChart = ({chartData}) => {
return <Bar data={chartData}/>;
};
export default BarChart;发布于 2022-11-08 14:05:46
response (我不确定响应结构,但您可以根据需要)将其设置为之前,先创建您想要的结构
函数App() { chartjs,setChartjs = useState();const = "https://datausa.io/api/data?drilldowns=Nation&measures=Population";useEffect(() ) => {axios.get(Url).then(响应) => { const data ={标签:response.data.data.map(项目) => item.Year),数据集:{标签:“总体”,数据:response.data.data.map((项目) => item.Population),},};setChartjs(数据);};},url);if(!chartjs)返回“加载.”
https://stackoverflow.com/questions/74361641
复制相似问题