Javascript Recharts dataMax,React表返回第一个值

Javascript Recharts dataMax,React表返回第一个值,javascript,reactjs,graph,react-table,recharts,Javascript,Reactjs,Graph,React Table,Recharts,我正在构建一个简单的React应用程序,从API中提取数据,使用React表组织数据,并将Recharts连接到graph 我试图绘制两个字段——“单价”和“地区”。并非JSON中的所有对象都包含“单价”。当我将axis域设置为domain={[0,'dataMax']}时,图形总是返回第一个非零值作为dataMax 我曾尝试编写如下函数来替换dataMax,但没有成功 const MaxY = ({ UnitPrice, i }) => { let max; for (i = 0

我正在构建一个简单的React应用程序,从API中提取数据,使用React表组织数据,并将Recharts连接到graph

我试图绘制两个字段——“单价”和“地区”。并非JSON中的所有对象都包含“单价”。当我将axis域设置为
domain={[0,'dataMax']}
时,图形总是返回第一个非零值作为
dataMax

我曾尝试编写如下函数来替换
dataMax
,但没有成功

const MaxY = ({ UnitPrice, i }) => {
  let max;
  for (i = 0; i < UnitPrice.length; i++) {
    if (UnitPrice[i] > max) {
      max = UnitPrice[i];
    }
  }
  return max;
};
constmaxy=({UnitPrice,i})=>{
让马克斯;
对于(i=0;i最大值){
最大值=单价[i];
}
}
返回最大值;
};

我还尝试删除不包含
单价
或重复
地区
值的项目,但失败。我是否需要重新映射与React表分开的数据才能工作?

如果
NaN
被提供给
属性的第二个元素,或者它是Recharts内部计算
dataMax
的结果,这似乎是Recharts的默认行为

如果JSON将
UnitPrice
编码为字符串,则通常会发生这种情况。如果是这种情况,请将其解析为整数


虽然我不能确定,但考虑到Recharts似乎无法处理字符串到整数的转换,您可能不会删除任何没有
单价的元素,或者提供默认的数值。如果不这样做,Recharts可能会将
NaN
计算为最大Y值,这将导致它的回退行为。

如果内存可用,
UnitPrice
会像您所说的那样作为字符串传递。我似乎还记得一些内置在Recharts中的类型转换,虽然不起作用,但已经是很久以前的事了。谢谢你,亚历克斯。