面试真题

前端 · 中等 · 腾讯

往列表插入元素,虚拟 DOM 树怎么处理?

中等 前端 🎤 腾讯
参考答案
结论:虚拟DOM通过同层diff算法对比新旧VNode,带key时可精准定位插入位置并更新真实DOM。处理流程:1. 生成包含新元素的VNode列表;2. patch阶段按key比对,无key则默认就地复用易导致状态错乱;3. 在列表中找到锚点,创建新节点对应的真实DOM并插入指定索引;4. 更新相邻节点的关联关系与索引映射。示例:在['a','b','c']中间插入'x',带key的diff复用a,b,c节点,仅在b后插入x的真实DOM,避免全量重渲染。
题目整理自公开面经,答案由校招宝自研生成,仅供参考