повторное построение двухосной линейной диаграммы без рендеринга

#javascript #reactjs #react-hooks #recharts

#язык JavaScript #реагирует на #реагируют-крючки #перезарядка

Вопрос:

Я использую функциональные компоненты с крючками и извлекаю 3 фрагмента данных, связанных с covid-19, таких как дата, подтвержденные случаи и смерти, а затем сохраняю эти данные в этом компоненте. Я хотел бы построить двухосную линейную диаграмму с осью X, представленной датой, и двумя линиями, представляющими подтвержденные случаи заболевания и смерти, произошедшие в эту конкретную дату. После успешного хранения данных я преобразую их в массив, а затем передаю компоненту диаграммы в виде массива объектов. Однако данные отображаются на экране, но строки не отображаются.

 import React, { useEffect, useState } from "react"; import { fetchDailyData } from "../../api";  import classes from './Chart.css'; import { BarChart, Bar, CartesianGrid, XAxis, YAxis,Tooltip,Legend } from 'recharts'; import {  LineChart,  Line, } from "recharts";  const Chart = ({data:{confirmed,deaths,recovered},country}) =gt; {   const [dailyData,setDailyData]= useState([]);   useEffect(()=gt; {  const fetchApi = async() =gt; {  setDailyData(await fetchDailyData());  }   fetchApi();  },[])  const data = [  {  name: dailyData.map(({ date }) =gt; new Date(date).toLocaleDateString()),  confirmed: dailyData.map((data) =gt; data.confirmed),  deaths:dailyData.map((data) =gt; data.deaths)  }   ];      return (  lt;div className={classes.container}gt;  lt;LineChart width={730} height={250} data={data}  margin={{ top: 5, right: 30, left: 20, bottom: 5 }}gt;  lt;CartesianGrid strokeDasharray="3 3" /gt;  lt;XAxis dataKey="name" /gt;  lt;YAxis /gt;  lt;Tooltip /gt;  lt;Legend /gt;  lt;Line type="monotone" dataKey="confirmed" stroke="#0095FF" /gt;  lt;Line type="monotone" dataKey="deaths" stroke="#0095FF" /gt;  lt;/LineChartgt;  lt;/divgt;  ) }   export default Chart;