Reactjs HighCharts反应组件不更新,尽管传入了更新的选项对象
我试图在没有数据传入的情况下显示一个默认的空图表。配置由以下部分提供:Reactjs HighCharts反应组件不更新,尽管传入了更新的选项对象,reactjs,highcharts,react-highcharts,Reactjs,Highcharts,React Highcharts,我试图在没有数据传入的情况下显示一个默认的空图表。配置由以下部分提供: const getEmptyChartConfig = (componentProps: SelectedItemsChartProps) => ({ xAxis: { min: 0, max: 5, allowDecimals: false, }, yAxis: { min: 0, max: 30, allowDecimals: false, }, })
const getEmptyChartConfig = (componentProps: SelectedItemsChartProps) => ({
xAxis: {
min: 0,
max: 5,
allowDecimals: false,
},
yAxis: {
min: 0,
max: 30,
allowDecimals: false,
},
});
我将其传递到的组件是:
export const ItemsChart: React.FC<ItemsChartProps> = withTheme<
React.NamedExoticComponent<ItemsChartProps>
>(
React.memo((props) => {
const options = props.points.length
? {
series: getAllSeries(props.points, props.items),
}
: getEmptyChartConfig(props);
console.log('App options=' + JSON.stringify(options));
return <HighchartsReact highcharts={Highcharts} options={options} />;
}),
);
export const itemshart:React.FC=withTheme<
React.NamedExoticComponent
>(
React.memo((道具)=>{
常量选项=props.points.length
? {
系列:getAllSeries(道具点、道具项),
}
:getEmptyChartConfig(道具);
log('appoptions='+JSON.stringify(options));
返回;
}),
);
当props.points.length>0
时,我可以看到日志行使用更新的选项运行。但渲染图表显示的轴的最小/最大值为0-5(x轴)和0-30(y轴)。我不明白为什么会出现这种情况,因为更新后的options
对象不再包含此配置。HighCharts似乎正在缓存旧配置?我需要做些什么来强制更新吗
干杯进一步调查显示,xAxis
和yAxis
成员无法更新。有人知道为什么吗?欢迎来到Stack Exchange。很高兴你能上飞机,先生!嗨@Sol,你能在一些在线代码编辑器中重现这个问题吗?您可以从以下步骤开始:最后,我不得不使用Reactref
并调用chart.update()
,将x/y轴min/max
值设置为null
,强制更新轴配置。似乎HighCharts
不喜欢更新轴/图表对象配置。包装器还使用chart.update
应用更改。请复制此问题。从进一步调查来看,似乎无法更新xAxis
和yAxis
成员。有人知道为什么吗?欢迎来到Stack Exchange。很高兴你能上飞机,先生!嗨@Sol,你能在一些在线代码编辑器中重现这个问题吗?您可以从以下步骤开始:最后,我不得不使用Reactref
并调用chart.update()
,将x/y轴min/max
值设置为null
,强制更新轴配置。似乎HighCharts
不喜欢更新轴/图表对象配置。包装器还使用chart.update
应用更改。请转载这一问题。