首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

加载 React 长页面 - 动态渲染组件

在这种情况下,如果一次性将页面全部渲染,可想而知,我们的页面直出效率(fmp, fid)会受到影响。 为了更好的用户体验,我们需要考虑在用户滚动到下一屏时,渲染下一屏的组件。 ?...设计思路 假设页面预期渲染 n 个组件,每个组件均会触发请求其他接口。设计这样一个长页面,我们主要会面临以下两个问题: 渲染下一屏组件的时机应该如何判断?...图 1 一、渲染下一屏的时机 1. 初始定义 以首页为例,我们将楼层数据源用 homeInfo 变量保存,而实际渲染的数据用 compList 保存。...监听滚动优化 在滚动时会频繁触发 scrollRenderHandler 函数,导致页面性能低下。...在写一个普通的长页面的过程中,如果只追求完成,那么将会非常简单,但如果想要进一步优化,那可做的事情就有很多了。

3.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

页面加载性能优化

那么我们每到一个地方就拍张带有时间的照片(事件),最后我们对这些照片按照时间进行排列, 然后分析哪部分是我们的瓶颈点等。 几个关键的指标 白屏时间 用户从打开页面开始到有页面开始呈现为止。...如果采用客户端渲染的方式,就需要在首屏接口返回, 并渲染页面的地方打点记录。...首屏加载时间 我们所说的首屏时间,就是指用户在没有滚动时候看到的内容渲染完成并且可以交互的时间。至于加载时间,则是整个页面滚动到底部,所有内容加载完毕并可交互的时间。...首屏时间计算 完全加载时间 通常网页以两个事件的触发时间来确定页面加载时间....接下来我们需要实际的测量数据,以便我们分析数据以及和优化后的数据做对比。 首次渲染 假设DNS查询和TLS握手需要花费1.6s.

2.2K20

给Emlog添加页面加载(加载中)特效

为了加强浏览者的体验,不在等待页面加载时感到枯燥,从而关闭网页,很多网站都会制作一个“网页正在加载中”的提示效果或显示加载进程,加载完成后提示消失,大部分都应用在网站的首页,今天我教大家把这一特效添加到...要实现该特效同样要用到jquery,如果大家和我目前用的主题一样,为了实现其它特效已提前加载了jquery,那么正好充分利用jquery的强大功能,添加此特效何乐而不为呢?...当然仅仅为了实现这个特效,而去加载50几K的jquery就有点得不偿失了。...前添加一段JS代码 jQuery(function(){ jQuery('#loading-one').empty().append('页面加载完毕...top:50%; left:50%; margin:50px 0 0 -50px; padding:3px 10px;" onclick="javascript:turnoff('loading')">页面载入中

90820

IE之页面加载慢.

场景 场景是大屏页面一张深色背景, 里面一些文本元素以及图表展示. 结果在IE下发现加载异常缓慢, 还有部分人员反馈页面卡死....然后把base64编码写在dom里的实现方式改成了css加载src. 改完之后, 后台已经完全不涉及到读写图片卡顿问题了....图片加载方式 但是前台依然会空白很久, 然后出现加载图标, 最后才开始各个组件加载渲染. 那么这个空白跟图片背景有没有关系呢? ...访问一张带背景图的表单, 可以看到内容是先渲染出来的, 然后加载图片. 图片是一段一段的加载的, 并不会影响内容主体渲染, 也不是导致初始页面空白的元凶....重复上述访问entry操作, 等得的快炸的时候, 页面终于加载出来了. 低速网络下, 两个js累计加载耗时561s!!!

2.3K70

WordPress 技巧:使用 defer 延迟加载 JavaScript 程序,加快页面渲染

什么是 JavaScript 的 Defer 属性 这种情况大家都可能遇到过:就是 head 中有 N 个脚本,当加载这些脚本的时候就会阻塞页面渲染,也就是常说的空白,当然我们可以把源代码中的脚本放到...这个时候我们可以使用 Defer 属性,它是 JavaScript 中比较少用的一个属性,可能你从来都不会使用它,但是相信看完这里的介绍,相信你就不会离开它,它的主要功能就是让脚本在整个页面加载完之后再解析...,而非边加载边解析,这对于只包含事件触发的 JavaScript 的脚本来说,可以提供整个页面加载速度。...是的,如果一个 Script 标签加了 defer 属性,即使放在 head 里面,它也会在 HTML 页面解析完毕之后再去执行,也就是类似于把这个 script 放在了页面的底部。...最后大家可以看我的博客是不是页面可以很快渲染出来。 ----

41020

再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载

所以: 如果页面中没有script标签,DOMContentLoaded事件并没有等待CSS文件、图片加载完成。...即:整个 document 解析完毕且 defer-script 也加载完成之后(这两件事情的顺序无关),会执行所有由 defer-script 加载的 JavaScript 代码,然后触发 DOMContentLoaded...但是,async-script 加载完成后,就会立即执行!如果页面还是没有解析完成,就会停下来(阻塞页面)等此脚本执行完毕再继续解析。...而当页面有大量的二进制文件(页面加载的时长大于阻塞的时长的时候),document.readyState=complete 可能反而在 onload 事件之后才能触发(这个我未完成验证出这种情况) 我觉得...complete:图片显示出来以后为true 转载请注明来源:再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载 文有不妥之处,请告知,谢谢!

4.6K150

前端知识普及之页面加载

页面加载 页面加载就是从你输入网址+enter开始,发生的一些列过程,最终到页面显示。...从微观上分的话,页面加载有两部分 一个是以DOMContentLoaded触发为标志的DOM树的渲染完成 一个是以辅助资源img,font加载完成为触发标志的onload事件 他们两个的具体区别就是"资源的加载...这只是,页面加载很浅的一块,前端能在页面加载上做的工作其实超级多。...也就是说上文的页面加载其实 只算是 浏览器处理=> 最后onload这一过程。 懂吧。 很小很小。 所以,这里我们先从宏观上来讲解一下,页面加载的整个流程....有兴趣,可以参考:赖小赖小赖 接下来,我们一步一步来看一下,页面加载的整个过程. redirect 这是页面加载的第一步(也有可能没有).

1.5K90

前端技术提高页面加载速度

如果是这样,明确地指定表格单元格、行和列的宽度和高度,否则,浏览器必须执行许多操作来计算如何显示它们,这会降低页面加载速度。...十三、尽可能延迟脚本加载 一种提升页面下载速度的潜在方式是将脚本放在页面的底部,使页面加载更迅速。...因为您的浏览器将并发连接的数量限制到一个单一的域,因此无论何时加载一个页面,都很容易占满所有线程。因此,到其他资产的连接被延迟了。...CSS或image,然后继续执行下面的转换,而不需要等待request的返回,当request返回 后,只需要把返回的内容放入到DOM树中对应的位置就OK。...并行、分段加载外部 script Parallel script loading (并行加载)是加速网站页面加载最有效的方法之一。

3.5K20

再谈DOMContentLoaded与渲染阻塞—分析html页面事件与资源加载

所以: 如果页面中没有script标签,DOMContentLoaded事件并没有等待CSS文件、图片加载完成。...js线程与资源进行加载的线程并不互斥,不会互斥意味着:资源的加载可以和UI渲染、重排,事件响应,或者JavaScript代码的执行的并发进行。...即:整个 document 解析完毕且 defer-script 也加载完成之后(这两件事情的顺序无关),会执行所有由 defer-script 加载的 JavaScript 代码,然后触发 DOMContentLoaded...但是,async-script 加载完成后,就会立即执行!如果页面还是没有解析完成,就会停下来(阻塞页面)等此脚本执行完毕再继续解析。...而当页面有大量的二进制文件(页面加载的时长大于阻塞的时长的时候),document.readyState=complete 可能反而在 onload 事件之后才能触发(这个我未完成验证出这种情况) 我觉得

1.5K20
领券