我在 react-redux 中使用 highcharts-react-official 来创建明细图。
但是,当我单击一个栏进行向下钻取时,我还更新了一些导致组件重新渲染的道具——这似乎阻止了向下钻取事件。
我在 react-highcharts 中动态地从更改系列数据中收集,而无需重新渲染图表,我应该使用 shouldComponentUpdate 和 getChart() 来防止重新渲染,而是动态更新数据。
我的问题是 getChart() 似乎不适用于官方的 highcharts react 包。我收到 Uncaught TypeError: this.refs.chart.getChart is not a function
有没有我打算用来获取和动态更新图表的替代方法?或者一些我可以看的例子?
在这里只包括 render 和 shouldComponentUpdate 部分:
shouldComponentUpdate(nextProps, nextState) {
let chart = this.refs.chart.getChart();
//dynamically update data using nextProps
return false;
}
render () {
const options = {
chart: {
type: 'column',
height: 300,
events: {
drillup: (e) => {this.drilledUp(e)}
}
},
plotOptions: {
series: {
events:{
click: (e) => {this.categoryClicked(e)}
}
}
},
xAxis: {type: "category"},
yAxis: {title: {text: 'Amount Spent ($)'}},
series: [{
name: 'weekly spending',
showInLegend: false,
data: this.props.transactionChartData.series_data,
cursor: 'pointer',
events: {
click: (e)=> {this.weekSelected(e)}
}
}],
drilldown: {
series: this.props.transactionChartData.drilldown_data
}
};
return (
<HighchartsReact
highcharts={Highcharts}
options={options}
ref="chart"
/>
)
}