【发布时间】:2021-02-23 05:11:35
【问题描述】:
在 React 应用程序中(使用 Next.js),我正在尝试使用 recharts http://recharts.org/en-US/api/LineChart 实现图形功能。现在我正在尝试在工具提示中显示日期和价格值,价格显示正确,但所有点的日期都是静态的(悬停时)
我的代码是这样的
/index.js
const formatDate = (value) => {
return moment(value).format('HH:MM A DD MM, YYYY')
}
const weeklyData = [
{ date: formatDate(1613619000), price: '1200.00' },
{ date: formatDate(1613617200), price: '1300.83' },
{ date: formatDate(1613615400), price: '1250.23' },
{ date: formatDate(1613611800), price: '500.55' },
{ date: formatDate(1613608200), price: '1600.23' },
{ date: formatDate(1613606400), price: '1850.93' },
{ date: formatDate(1613604600), price: '1750.23' },
{ date: formatDate(1613599200), price: '650.23' },
]
<LineChart
width={900}
height={250}
data={data}
margin={{
top: 5,
right: 30,
left: 20,
bottom: 5,
}}
>
<Tooltip content={<CustomTooltip />} cursor={false} />
<Line type="monotone" dataKey="price" stroke="#4ec6f4" label="Shruthi" />
</LineChart>
/tooltip.js
const CustomTooltip = ({ active, payload, label }) => {
if (active && payload && payload.length) {
return (
<div className="tooltip">
<p className="tooltipLabel">{`$${payload[0].payload?.price}`}</p>
<p className="tooltipDesc">{`${payload[0]?.payload?.date}`}</p>
</div>
)
}
return null
}
CustomTooltip.propTypes = {
type: PropTypes.string,
payload: PropTypes.array,
label: PropTypes.string,
}
export default CustomTooltip
如何根据我的要求自定义此图表?
【问题讨论】:
-
“日期对于所有点都是静态的”是什么意思?预期的结果是什么?
-
问题已更新。随着价格,它的相应日期应该显示,但现在它只显示所有价格的一个日期。
标签: reactjs graph momentjs next.js recharts