共计 2 篇文章

React如何重新处理DOM(Diffing算法)

本文会详细介绍在React中的“diffing”算法是怎么做的,以便组件更新是可预测的,从而让高性能应用变得足够快。 背景 当使用React时,在单个时间点,您可以将render()函数看做是在创建React元素树。 在下一个state或props更新时render()函数将返回一个不同的React元素树。 React需要弄清楚如何高效地更新UI去匹配上最新的元素树。 对于将一个树变换成另一个树的最小操作数的算法问题,现在已经存在一些比较通用的解决方案。 然而,那些现有的最先进的技术算法都有O(n^3)的复杂度(n是树中的元素的数量)。 如果在React中使用这些算法,显示1000个元素将需要大约十亿次比较。 这个真的代价太昂贵了。 相反,React实现了一个基于两个假设直观推断出的O( ...

浏览器的缓存

不废话了,直奔主题! 什么是浏览器缓存 浏览器缓存(Brower Caching)是浏览器在本地磁盘对用户最近请求过的文档进行存储,当访问者再次访问同一页面时,浏览器就可以直接从本地磁盘加载文档。 浏览器缓存的优点有: 减少了冗余的数据传输,节省了网费 减少了服务器的负担,大大提升了网站的性能 加快了客户端加载网页的速度 在前端开发面试中,浏览器缓存是web性能优化面试题中很重要的一个知识点,从而说明浏览器缓存是提升web性能的一大利器,但是浏览器缓存如果使用不当,也会产生很多问题,正所谓是,想说爱你,并不是很容易的事。所以,结合最近遇到的案例,本文对浏览器缓存相关的知识进行总结归纳, ...