Chart.js 使用函数填充数据时抛出错误
2022-12-06
36
我正在使用 Chart.js 和 react-chartjs-2 向我的 React 应用程序添加图表。
我正在尝试将数据加载到图表中,如下所示:
<Chart type="line" data={this.getData}/>
getData
是一个简单的函数,它将组件 props 中的数据转换为 Chart.js 可以理解的格式:
function getData() {
const data = this.props.data;
[...]
return {
labels: dates // This is an array of dates as strings, ex ["2022-11-14", ...]
datasets: [{ label: "Some Label", data: sales}] // sales is an array of numbers
}
}
但是,当我加载图表时出现以下错误:
TypeError: t is undefined
如果我将数据硬编码到组件中,此错误就会消失,即:
<Chart type="line" data={{
labels: ["one", "two", "three"]
datasets: [{ label: "Some Label", data: [1,2,3]}]
}}/>
因此,尽管
getData()
返回数据的方式与硬编码完全相同,但如果我使用 getData() 而不是对图表数据进行硬编码,则会引发该错误。
1个回答
您正在调用
data
内的函数,因此请添加缺失的括号
<Chart type="line" data={this.getData()}/>
Sachila Ranawaka
2022-12-06