前端三大框架基础知识(重点react.js)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
weex 目前是阿里旗下在用:淘宝、外卖等等。
react native :腾讯 京东 facebook等等。
在这里插入图片描述
在这里插入图片描述
解释上面这个表格:
需求:点击列表的名字旁边的箭头,进行相应的排序:
1.表格中的数据从哪来的:数据库中查询的
2. 这些查询到的数据,存放到哪里了:这些数据在浏览器的内存中存放着,而且是以对象数组的形式来表示的。
3. 这些数据,是怎么渲染到页面上的呢:
方案1 :手动for循环整个数组,然后手动拼接字符串str += ‘’
方案2:试用模板引擎,art-templete
明显方案2 更方便,但是本质是一样的。for循环
4. 思考:上述两个方案,有没有性能上的问题?
5. 如果用户点击了时间排序,想按照时间从大到小进行排序,那么步骤如下:
1.触发点击事件,在事件中,把内存中的对象数组重新排序
2. 当排序完成后,页面是旧的,但是内存中的 对象数组是 新的
3. 想办法,吧最新的数组, 重新 渲染到页面上;
6. 分析与总结:上述方案,只有实现了把数据渲染到页面上的能力,但是并没有把性能做到最优
7. 如何才能把性能做到最优:按需渲染页面(只渲染更新的数据 所对应的页面元素)
8. 如何实现页面的按需更新呢?获取内存中的新旧两颗DOM树,进行对比,得到 需要 更新的DOM元素。

		*这里普及一下页面的呈现过程:
		1. 浏览器请求服务器,获取页面HTML代码
		2. 浏览器要先在内存中解析DOM结构,并在浏览器内存中,渲染出一颗							       DOM树
		3. 浏览器把DOM树呈现到页面上*
  1. 如何 获取到 新旧DOM树,从而实现DOM树的对比呢?
    分析:浏览器中,并没有直接提供 获取DOM树的API,因此我们无法拿到浏览器内存中的DOM树
  2. 程序员可以手动模拟 新旧 两颗DOM树:
  3. 程序员如何手动模拟呢????
    例:模拟一个DOM元素:(使用js)

在这里插入图片描述
模拟程序如下:
在这里插入图片描述
12. 程序员手动模拟的这两颗新旧DOM树,就是React 中虚拟DOM的概念。

总结:什么是虚拟DOM?
本质:用js 对象的形式,来模拟网页上DOM嵌套关系(虚拟DOM是以js对象的形式存在的)
目的:实现网页的高效更新

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值