欢迎来到 SO。
1) Recharts 需要一个需要迭代和显示的数组。所以我通常做的是让图表组件成为列表组件的子组件。2)当用户从下拉列表中选择不同的选项时,我使用列表页面上的过滤器来选择不同的图表组件(以防您的分析页面需要从同一页面显示不同的图表)^^这对于新人来说有点棘手到 JS 但如果你想进入它是非常简单的。3)对你来说,我认为最好的选择是你为每个页面制作不同的列表组件和资源,并在他们自己的页面上显示不同的图表。
export const AnalyticsList = (props) => {
return (
<List title="Analytics" {...props} perPage={20} sort={{ field: 'id', order: 'ASC' }}>
<Analytics />
</List>
)
}
分析组件是这样的
import React from 'react';
import {BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend} from 'recharts';
export const Analytics = (props) => {
return (
<BarChart width={800} height={400} data={Object.values(props.data)} margin={{top: 5, right: 30, left: 20, bottom: 5}}>
<XAxis dataKey="name"/>
<YAxis dataKey="charLimit" />
<CartesianGrid strokeDasharray="3 3"/>
<Tooltip/>
<Legend />
<Bar dataKey="charLimit" fill="#82ca9d" />
</BarChart>
);
}
希望这可以帮助。