You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 20:02:04