reactjs - 在第二次单击时导出图形时获取属性“导出”未定义
问题描述
当我尝试在第二次单击时将图形导出为 png 时出现问题。第一次一切都很好,但是在第二次单击时,我在控制台中收到此错误Cannot read property 'exporting' of undefined
。我正在使用 React,我的代码如下所示
const [exportGraph, setExportGraph] = React.useState<JSX.Element | null>(null);
const chartCallback = (chart: Highcharts.Chart) => {
setExportGraph(
<React.Fragment>
<ChartAction
onClick={() => {
chart.exportChart({}, {});
}}
title={t('exportGraphPNG')}
iconName={EXPORT_ICON}
/>
<ChartAction
onClick={() => {
chart.downloadCSV();
}}
title={t('exportGraphCSV')}
iconName={EXPORT_ICON}
/>
</React.Fragment>
);
};
return (
...
<div>{exportGraph}</div>
...
);
在图表组件中我定义了这个
const handleChartCallback = (chart: Highcharts.Chart) => {
enableScrollWithMouseWheel(chart);
chartCallback && chartCallback(chart);
};
return (
<HighchartsReact
constructorType={'chart'}
highcharts={Highcharts}
options={options}
callback={handleChartCallback}
/>
)
请注意,downloadCSV
在多次导出时工作正常,但仅在我导出 png 之前。在那之后,图表似乎以某种方式从dom中消失了。我怎样才能解决这个问题?提前致谢!
解决方案
根据评论 - 用于useRef
创建图表引用以获取chart
对象作为这种情况的解决方案。
推荐阅读
- reactjs - 如何通过 React 中的状态列表进行动画处理?
- javascript - Firebase 数据库 console.log() 在 Javascript 中返回 Null
- javascript - 在全屏 Edge/Chrome 期间未应用 CSS
- html - 如何将图像徽标链接到匹配的选项卡和内容?
- javascript - 学习 if 和 else
- django - “类型不正确。预期的 pk 值,收到的列表。” 错误 DRF 反应
- mongodb - 模糊文本搜索 MongoDb Atlas 的搜索索引不适用于字符串数组
- node.js - 进行 DocuSign Admin API 调用时获得未经授权的响应
- vba - 通过 VBA 从 SSIS 清除多个工作表中的单元格
- python - 在dash app中启动app.py时如何使用__init__循环错误