React项目中使用MUI X BarChart出现axisData.x.value类型警告的解决方法
解决MUI X BarChart的
axisData.x.value类型不匹配警告 问题原因
当x轴使用band类型时,默认的ChartsAxisTooltipContent组件期望接收的axisData.x.value是数字类型,但你的x轴绑定的date字段是字符串(日期格式),类型不匹配触发了prop类型校验警告。
解决方案
方案1:自定义x轴Tooltip组件
通过自定义Tooltip内容,直接处理字符串类型的x值:
// 自定义Tooltip组件 const CustomXAxisTooltip = ({ axisData }) => { // 直接渲染date字符串,无需类型转换 return <div>{axisData.x.value}</div>; }; // 在BarChart的xAxis配置中使用自定义Tooltip <BarChart width={window.innerWidth - 55} height={450} dataset={MonthlyJoinLibrary} xAxis={[{ scaleType: 'band', dataKey: 'date', dateFormatter, tooltip: { content: <CustomXAxisTooltip /> } }]} series={[ { dataKey: 'male_student', label: 'សិស្សប្រុស', color:"blue", valueFormatter}, { dataKey: 'female_student', label: 'សិស្សស្រី', color:"red", valueFormatter}, { dataKey: 'male_teacher', label: 'គ្រូប្រុស', color:"aqua", valueFormatter}, { dataKey: 'female_teacher', label: 'គ្រូស្រី', color:"rgb(255,150,80)", valueFormatter}, ]} />
方案2:禁用x轴Tooltip(如果不需要)
如果不需要x轴的Tooltip提示,可以直接关闭:
<BarChart width={window.innerWidth - 55} height={450} dataset={MonthlyJoinLibrary} xAxis={[{ scaleType: 'band', dataKey: 'date', dateFormatter, tooltip: false // 禁用Tooltip }]} series={[ { dataKey: 'male_student', label: 'សិស្សប្រុស', color:"blue", valueFormatter}, { dataKey: 'female_student', label: 'សិស្សស្រី', color:"red", valueFormatter}, { dataKey: 'male_teacher', label: 'គ្រូប្រុស', color:"aqua", valueFormatter}, { dataKey: 'female_teacher', label: 'គ្រូស្រី', color:"rgb(255,150,80)", valueFormatter}, ]} />
额外检查点
确认MonthlyJoinLibrary中的date字段格式统一,没有空值或非字符串类型的数据,避免潜在的渲染异常。
内容的提问来源于stack exchange,提问作者GoodDay
相关产品推荐
相关产品推荐

