在我跳入主题之前,我想提一下,我已经提到过这样的问题,但我自己无法找到解决方案。
假设这是我的状态对象
state = {
graphData: [
[{x: 0, y: 0}],
],
};
随着时间的增加,graphData 会变得更大,可能看起来像这样
graphData: [
[{x: 0, y: 0}, {x: 1, y:1}, {x:2, y:2}],
],
目前,我以这种方式处理它:
nextGraphData = this.state.graphData[0][graphDataLength] = {x: lastXAxisValue + 1, y: value};
this.setState({
graphData: {
...this.state.graphData,
nextGraphData
}
});
显然,我得到一个错误,说我不应该直接改变状态。那么,如何在没有直接突变的情况下达到相同的效果。我试着玩了一下,但无法弄清楚。