我正在开发一个 React 应用程序,它具有用于创建条形图的 ReCharts。除了在屏幕上显示之外,我还想将图形导出到文件以存储在数据库中。
正如我在这里的其他问题中看到的那样,要导出图表,我可以这样做:
let chartSVG = ReactDOM.findDOMNode(this.currentChart).children[0];
let svgBlob = new Blob([chartSVG.outerHTML], {type: "text/html;charset=utf-8"});
但是我无法插入图表的 DOM 节点名称(this.currentChart)。另一个问题使用的方式对我不起作用:
Uncaught TypeError: Cannot set property 'currentChart' of undefined
我在 findDOMNode 中尝试了组件名称,但出现错误:
Uncaught Error: Element appears to be neither ReactComponent nor DOMNode
我的图形组件在另一个文件中,并在我的顶级 render() 函数中声明如下:
render () {
return(
<div ...
...
<br />
<MyBarChart
id="currentChart"
ref={(chart) => this.currentChart = chart}
data={this.props.dataGraph}
/>
<br />
...
</div>
);
}
如何调用 ReactDOMNode 才能导出图表?