为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

胡子哥哥 2019-04-27 17:19:00
使用react中,滚动的时候需要动态的setState数据,这个时候发现在滚动回调中发现执行setState的时候,一直在渲染,停不下来这是什么情况,有知道的吗?
查看完整描述

1 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

滚动事件触发会很频繁的,用的时候,都会限制一下,一般以时间为单位,比如限制10ms只触发一次.可以在state里面记录时间,然后在触发的函数里面对比,如果大于10ms就执行操作,如果小于就不执行,在执行的时候顺便把state的时间更新为当前时间.可以看看我做的这个例子如果熟悉RxJS的话,用throttleTime操作符来解决会很方便.
查看完整回答
反对 回复 2019-04-27
  • 1 回答
  • 0 关注
  • 780 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信