作者:小小闲森 | 来源:互联网 | 2023-01-12 16:19
1> Arslan Tariq..:
所以,我找到了一个解决方法.它工作得很好.我正在获取图表ref
,然后使用设置新数据setData
.这仅更新数据而不是重新渲染整个图表组件.我正在使用组件生命周期方法shouldComponentUpdate
来停止重新呈现组件.这是相关的代码:
class ContributionRiskGraph extends React.PureComponent {
constructor() {
super();
this.state = {
riskValue: 8.161736
};
this.handleChange = this.handleChange.bind(this);
}
shouldComponentUpdate(nextProps, nextState) {
if(this.state.riskValue !== nextState.riskValue) {
return false;
}
}
handleChange(value) {
this.setState({
riskValue: value
});
let riskValue = this.state.riskValue / 100;
let chart = this.crg.getChart();
chart.series[0].setData(getGraphPlotData(riskValue, 'lowerBound'), true);
chart.series[1].setData(getGraphPlotData(riskValue, 'expectedValue'), true);
chart.series[2].setData(getGraphPlotData(riskValue, 'upperBound'), true);
}
render() {
// other code
return(
)
}
}