gpt4 book ai didi

reactjs - React,如何快速更新状态

转载 作者:行者123 更新时间:2023-12-03 13:26:58 24 4
gpt4 key购买 nike

在 React 中显示快速变化的值(例如上传进度)的推荐方法是什么?在我的 axios 配置中,我有

onUploadProgress: progressEvent => {
let percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total )
this.setState({ avatarUploadPercentage: percentCompleted })
}

<span>Upload progress: {this.state.avatarUploadProgress}</span>

但是setState当然不喜欢这么快被叫到,并且不能保证订单。我应该使用 refs 并自己更改内部 html 吗?

最佳答案

限制 onUploadProgress 回调运行的时间怎么样?您可以将回调包装在“去抖”函数中,该函数限制回调运行的频率。 UnderscoreLodash提供去抖方法。

每秒一次:

onUploadProgress: debounce(progressEvent => {
let percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total )
this.setState({ avatarUploadPercentage: percentCompleted })
}, 1000)

请参阅 https://davidwalsh.name/javascript-debounce-function 中的简单去抖功能.

关于reactjs - React,如何快速更新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48037890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com