Javascript 访问React中的嵌套JSON对象
数据集: 我是新的反应,并试图让我的脚湿与新冠病毒-19跟踪,所以容忍我。。。我试图从上述数据集中访问Timeline>案例,但似乎无法使其正常工作。我已经尝试了Javascript 访问React中的嵌套JSON对象,javascript,arrays,json,reactjs,Javascript,Arrays,Json,Reactjs,数据集: 我是新的反应,并试图让我的脚湿与新冠病毒-19跟踪,所以容忍我。。。我试图从上述数据集中访问Timeline>案例,但似乎无法使其正常工作。我已经尝试了让date在data.timeline.cases中,但是这也不起作用。也许我找错地方了——找些指导。谢谢 const buildChartData = (data, casesType) => { let chartData = []; let lastDataPoint; for (let date in dat
让date在data.timeline.cases中,但是这也不起作用。也许我找错地方了——找些指导。谢谢
const buildChartData = (data, casesType) => {
let chartData = [];
let lastDataPoint;
for (let date in data.cases) {
if (lastDataPoint) {
let newDataPoint = {
x: date,
y: data[casesType][date] - lastDataPoint,
}
chartData.push(newDataPoint);
}
lastDataPoint = data[casesType][date];
}
return chartData;
};
function LineGraph({ casesType = 'cases' }) {
const [data, setData] = useState({});
useEffect(() => {
const fetchData = async() => {
await fetch('https://disease.sh/v3/covid-19/historical/usa?lastdays=120')
.then((response) => {
return response.json()
})
.then(data => {
let chartData = buildChartData(data, casesType);
setData(chartData);
});
};
fetchData();
}, [casesType]);
好的,正如您所说的,您尝试了将date放入data.timeline.cases
但是您也需要更改代码的其他部分
它不是data[casesType]
而是data.timeline[casesType]
for (let date in data.timeline.cases) {
if (lastDataPoint) {
let newDataPoint = {
x: date,
y: data.timeline[casesType][date] - lastDataPoint,
}
chartData.push(newDataPoint);
}
lastDataPoint = data.timeline[casesType][date];
}
好的,正如您所说的,您尝试了将date放入data.timeline.cases
但是您也需要更改代码的其他部分
它不是data[casesType]
而是data.timeline[casesType]
for (let date in data.timeline.cases) {
if (lastDataPoint) {
let newDataPoint = {
x: date,
y: data.timeline[casesType][date] - lastDataPoint,
}
chartData.push(newDataPoint);
}
lastDataPoint = data.timeline[casesType][date];
}
非常感谢@Apostolos非常感谢@Apostolos