我正在尝试使用 MobX 商店将进度状态传递给其他进度条。
有两个进度条。其中之一应该在短时间内(约 2 秒)独立变化。我曾经setTimeOut增加当前的进度并且效果很好。然后我尝试将当前的进度值保存到 MobX 存储中以传递给另一个组件。此后,进度条的性能下降。
render() {
...
if (tradingProgress.progress > 100) {
this.setState(prevState => ({
tradingProgress: {
...prevState.tradingProgress,
progress: 100,
},
}));
} else if (tradingProgress.isTrading) {
setTimeout(() => {
this.setState(prevState => ({
tradingProgress: {
...prevState.tradingProgress,
progress: prevState.tradingProgress.progress + 5,
},
}));
}, 100);
}
...
// save current progress to mobx store.
// convertProgress, setConvertProgress are in my mobx store.
if (tradingProgress.progress !== convertProgress && tradingProgress.isTrading) {
setConvertProgress(tradingProgress.progress); // in mobx store: this.convertProgress = currentProgress
}
我认为频繁使用 MobX 存储是瓶颈,我没有在其他组件中使用该存储值。
感谢您为我度过黄金时光。