react v16知识点积累
2019-03-19 本文已影响0人
麦子_FE
解决的问题:
页面卡顿的问题。因为v15的版本,从调用setstate,到产生新虚拟树和老虚拟树比对生成更新列表,更新俩表在更新真实的dom节点。而新老虚拟dom的对比耗时会随着项目复杂度增加,所以如果时间过程页面就会变卡顿了。
卡顿的原因:FPS,动画之行之所以感觉是连续性的,是以极快的速度播放静态的图片,,利用视网膜残留效应让人产生动起来的错觉。同理 浏览器 绘制页面,这个频率是每秒60次,也就是16毫秒(1桢)就要进行一次周期性的重绘行为。
v16 利用 requestAnimationFrame 和 requestCallback来解决。
requestAnimationFrame:告诉浏览器,在下一次重绘之前调用这个方法接受的回调函数
requestAnimationFrame(function(){ // do something })
requestldleCallback:当浏览器美桢渲染出现空余时间就调用注册的回调,如果还有回调没有触发就放在以后的空余时间中调用