react 列表渲染 key解析和 vue的key解析的底层逻辑

前言

在学习react的过程中,了解到key的解析原理,发现和vue的解析原理基本上一致。框架的名称各有不同,在一些底层的模块上有相似。

react key解析原理

react 在修改数据的时候,会创建一个新的虚拟dom,然后用新的虚拟dom和真实的dom进行对比,比较两者的不同之处,并进行标记,然后将标记的部分更新到真实dom。这样就只是部分更新,提高性能。

注意:最理想的key值渲染,是key是唯一的。如使用列表的id;如果不涉及到增删改查,那么使用索引进行创建也是可以的。

vue key解析原理

        底层逻辑基本喝react相似。

条件渲染

{条件?内容一:内容二}

富文本展示

dangerouslySetInnerHTML:主要使用双大括号展示。使用时注意代码的安全性。

<div dangerouslySetInnerHTML={{
                    __html:<div>富文本解析</div>
                }}></div>

总结

在了解vue的基础上,再学习react,只需要熟练使用react的语法和使用的规则就可以了。

  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ReactVue是两个流行的前端框架,它们在组件更新时都使用了虚拟DOM来进行diff算法的优化,但是它们的diff算法实现有一些差别。 React的diff算法: React使用了一种称为"Reconciliation"的算法来进行diff。在组件更新时,React会生成新的虚拟DOM树,并将其与之前的虚拟DOM树进行比较。React会遍历整个树,找到需要更新的节点,并进行相应的操作。React的diff算法有以下特点: 1. 采用深度优先遍历:React会递归地比较子节点,然后再比较兄弟节点。 2. 使用"key"属性进行优化:通过给每个列表项添加唯一的"key"属性,React可以更准确地判断哪些节点需要更新、删除或添加。 3. 通过三种操作来更新节点:React会根据节点类型和属性的变化,进行插入、移动或删除操作。 Vue的diff算法: Vue使用了一种称为"Virtual DOM with Keyed Diff"的算法来进行diff。Vue的diff算法与React有一些相似之处,但也有一些不同之处: 1. 采用深度优先遍历:与React类似,Vue也会递归地比较子节点,然后再比较兄弟节点。 2. 使用"key"属性进行优化:与React一样,Vue也通过给每个列表项添加唯一的"key"属性来进行优化。 3. 采用双端比较:Vue会同时从新旧虚拟DOM树的头部和尾部开始比较,以尽可能地减少移动节点的操作。 总结: ReactVue的diff算法都是基于虚拟DOM的,它们都通过比较新旧虚拟DOM树来确定需要更新的节点。它们的差别主要在于遍历方式和节点比较的策略上。React采用深度优先遍历,而Vue采用双端比较。此外,React还使用了"key"属性来进行优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值