javascript - 使用 react-chartjs-2 创建对折线图的引用

我正在尝试为我正在使用 chart.js 构建的图表创建一个引用和 react-chartjs-2 .

这是我尝试创建指定类型的引用的行:const chartRef = useRef<Line>(null);

这是我得到的错误:

'Line' refers to a value, but is being used as a type here. Did you mean 'typeof Line'?

我找到了以下 documentation但由于我是 TypeScript 的新手,我还不知道如何解释它。这是我使用的完整代码:

import { Line } from "react-chartjs-2";

import {
  Chart as ChartJS,
  CategoryScale,
  LinearScale,
  PointElement,
  LineElement,
  Title,
  Tooltip,
  Legend
} from "chart.js";
import { useRef } from "react";

ChartJS.register(
  CategoryScale,
  LinearScale,
  PointElement,
  LineElement,
  Title,
  Tooltip,
  Legend
);

export const data = {
  labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
  datasets: [
    {
      label: "First dataset",
      data: [33, 53, 85, 41, 44, 65],
      fill: true,
      backgroundColor: "rgba(75,192,192,0.2)",
      borderColor: "rgba(75,192,192,1)"
    },
    {
      label: "Second dataset",
      data: [33, 25, 35, 51, 54, 76],
      fill: false,
      borderColor: "#742774"
    }
  ]
};

export default function App() {
  const chartRef = useRef<Line>(null);

  return (
    <div className="App">
      <h1>This is a chart.</h1>
      <Line data={data} ref={chartRef} />
    </div>
  );
}

你能给我指出正确的方向吗?谢谢!

最佳答案

我不是很熟悉 ChartJS,但是当我从 const chartRef = useRef<Line>(null); 更改您现有的代码时至 const chartRef = useRef<'line'>(null); (根据文档),linter 让我更好地了解需要修复的内容(在 ref 上)。

在你的情况下:

export function App() {
  const chartRef = useRef<ChartJS<"line", number[], string>>(null);

  return (
    <div className="App">
      <h1>This is a chart.</h1>
      <Line data={data} ref={chartRef} />
    </div>
  );
}

Working CodeSandbox

https://stackoverflow.com/questions/72455131/

相关文章:

c# - 如何转义和忽略 __debugbreak

python - SQLAlchemy 不插入默认值

javascript - 我如何构建一个用一组新按钮回复的不和谐按钮

python - 如何授予应用程序(而非用户本身)对文件夹和文件的权限

python - 直接查询 Sqlalchemy-utils EncrytedType 作为 SQL

java - 如何使用二维指针通过 JNA 调用 C 函数?

flutter - 如何更新 flutterfire_web_sdk_version 以及如何启用

python - 根据另一个 df 中的列计算一个 df 中的行数

javascript - javascript(ASP.Net)中的计时器倒计时

javascript - 未捕获的类型错误 : Failed to resolve module s