react 疑问,在滚动事件中 执行setState 出现一直执行的情况

使用react中,滚动的时候需要动态的setState数据,这个时候发现在滚动回调中发现执行setState的时候,一直在渲染,停不下来这是什么情况,有知道的吗?
胡子哥哥
浏览 841回答 1
1回答

红颜莎娜

滚动事件触发会很频繁的,用的时候,都会限制一下,一般以时间为单位,比如限制10ms只触发一次.可以在state里面记录时间,然后在触发的函数里面对比,如果大于10ms就执行操作,如果小于就不执行,在执行的时候顺便把state的时间更新为当前时间.可以看看我做的这个例子如果熟悉RxJS的话,用throttleTime操作符来解决会很方便.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript