ChartJS道具数据未定义错误reactjs
我正在尝试将Jira票证数据传递到饼图组件中。但是,我遇到了以下错误:ChartJS道具数据未定义错误reactjs,reactjs,charts,Reactjs,Charts,我正在尝试将Jira票证数据传递到饼图组件中。但是,我遇到了以下错误: Failed prop type: The prop `data` is marked as required in `ChartComponent`, but its value is `undefined` 请忽略: 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信息。 看起来你的帖子大部分都是代码;请添加更多详细信
Failed prop type: The prop `data` is marked as required in `ChartComponent`, but its value is `undefined`
请忽略:
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息。
看起来你的帖子大部分都是代码;请添加更多详细信息
import React,{useContext,useffect,useState}来自“React”
从“../../../context/loading context”导入{LoadingContext}
从“../../../context/snackbar context”导入{SnackbarContext}
从“../../../context/user context”导入{UserContext}
从“../../../functions/Rest”导入{get}
从'react-chartjs-2'导入{Pie}
常量缺陷=道具=>{
常量加载=使用上下文(加载上下文)
const snackbar=useContext(SnackbarContext)
const user=useContext(UserContext)
const[jiraticketsData,setJiraTicketsData]=useState(“”)
useffect(()=>{
异步函数onLoadJiraTicketData(){
加载。设置加载(true)
const results=get(`get\u jira\u tickets`,user.user)
如果(results.status==0){
setJiraTicketsData(results.data)
}如果(results.status>=20&&results.status T;
导出类型ChartData=ChartDataFunction | T;
导出接口ChartComponentProps{
数据:图表数据;
类型?:chartjs.ChartType;
GetDatasetEvent?(e:任意):无效;
getElementAtEvent?(e:任意):无效;
getElementsAtEvent?(e:任意):无效;
高度?:数字;
图例?:chartjs.chartleOperations;
OneElementsClick?(e:any):void;//getElementsAtEvent的别名(向后兼容性)
选项?:chartjs.ChartOptions;
插件?:对象[];
重绘?:布尔值;
宽度?:数字;
datasetKeyProvider?:(任意:任意)=>任意;
}
导出接口LinearComponentProps扩展ChartComponentProps{
数据:图表数据;
}
导出默认类ChartComponent<
P扩展了ChartComponentProps
>扩展React.Component{
chartInstance:chartjs;
}
导出类圆环扩展ChartComponent{}
导出类饼图扩展ChartComponent{}
导出类行扩展ChartComponent{}
导出类组件{}
导出类栏扩展ChartComponent{}
导出类HorizontalBar扩展ChartComponent{}
导出类组件{}
导出类组件{}
导出类气泡扩展ChartComponent{}
导出var默认值:{
全局:chartjs.ChartOptions和chartjs.ChartFontOptions;
[键:字符串]:任意;
};
import React, { useContext, useEffect, useState } from 'react'
import { LoadingContext } from '../../../context/loading-context'
import { SnackbarContext } from '../../../context/snackbar-context'
import { UserContext } from '../../../context/user-context'
import {get} from '../../../functions/Rest'
import { Pie } from 'react-chartjs-2'
const defects = props => {
const loading = useContext(LoadingContext)
const snackbar = useContext(SnackbarContext)
const user = useContext(UserContext)
const [jiraticketsData, setJiraTicketsData] = useState('')
useEffect(() => {
async function onLoadJiraTicketData() {
loading.setLoading(true)
const results = get(`get_jira_tickets`, user.user)
if (results.status === 0) {
setJiraTicketsData(results.data)
} else if (results.status >= 20 && results.status <= 30 ){
snackbar.statusCheck(results)
user.setSessionTokenMatches(false)
} else {
snackbar.statusCheck(results)
}
loading.setLoading(false)
}
onLoadJiraTicketData()
}, [])
return (
<div className='defects'>
<Pie data={jiraticketsData.pie_chart} />
</div>
)
}
export default defects
import * as React from "react";
import * as chartjs from "chart.js";
export type ChartDataFunction<T extends chartjs.ChartData> = (
element: HTMLElement
) => T;
export type ChartData<T extends chartjs.ChartData> = ChartDataFunction<T> | T;
export interface ChartComponentProps {
data: ChartData<chartjs.ChartData>;
type?: chartjs.ChartType;
getDatasetAtEvent?(e: any): void;
getElementAtEvent?(e: any): void;
getElementsAtEvent?(e: any): void;
height?: number;
legend?: chartjs.ChartLegendOptions;
onElementsClick?(e: any): void; // alias for getElementsAtEvent (backward compatibility)
options?: chartjs.ChartOptions;
plugins?: object[];
redraw?: boolean;
width?: number;
datasetKeyProvider?: (any: any) => any;
}
export interface LinearComponentProps extends ChartComponentProps {
data: ChartData<chartjs.ChartData>;
}
export default class ChartComponent<
P extends ChartComponentProps
> extends React.Component<P, {}> {
chartInstance: chartjs;
}
export class Doughnut extends ChartComponent<ChartComponentProps> {}
export class Pie extends ChartComponent<ChartComponentProps> {}
export class Line extends ChartComponent<LinearComponentProps> {}
export class Scatter extends ChartComponent<ChartComponentProps> {}
export class Bar extends ChartComponent<LinearComponentProps> {}
export class HorizontalBar extends ChartComponent<ChartComponentProps> {}
export class Radar extends ChartComponent<ChartComponentProps> {}
export class Polar extends ChartComponent<ChartComponentProps> {}
export class Bubble extends ChartComponent<ChartComponentProps> {}
export var defaults: {
global: chartjs.ChartOptions & chartjs.ChartFontOptions;
[key: string]: any;
};