Open connono opened 6 years ago
我按照思路写了一个类似的,放到安卓虚拟机上跑。在计次的时候,就算是4G的内存还是会显得很卡,但是在没有写记录之前,之前的操作都是很流畅的,想知道是什么原因导致的,state的结构与您的基本一致。 计次的时候更新state操作为 let newRecord = Object.assign(this.state); newRecord.recordTime = (new Date()).getTime(); newRecord.count++; if (newRecord.count > 8) { newRecord.record.pop(); } newRecord.record.unshift({ title: "计次" + newRecord.count, time: this.state.currentTime }); this.setState(newRecord);
把计时器的Interval时间改长。 从setState更新数据到界面反馈,需要完成一次DOM更新,速度可想而知。
我按照思路写了一个类似的,放到安卓虚拟机上跑。在计次的时候,就算是4G的内存还是会显得很卡,但是在没有写记录之前,之前的操作都是很流畅的,想知道是什么原因导致的,state的结构与您的基本一致。 计次的时候更新state操作为 let newRecord = Object.assign(this.state); newRecord.recordTime = (new Date()).getTime(); newRecord.count++; if (newRecord.count > 8) { newRecord.record.pop(); } newRecord.record.unshift({ title: "计次" + newRecord.count, time: this.state.currentTime }); this.setState(newRecord);