React设计思想研究--data-reactid及key

Posted petewell

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React设计思想研究--data-reactid及key相关的知识,希望对你有一定的参考价值。

原文引用https://www.dazhuanlan.com/2019/08/26/5d62ff2cd6029/


上一篇我们大概分析了react的虚拟dom和render及createElement该做的事情。现在把格局放大一点,考虑到之后数据模型修改,页面必须能够动态渲染,我们建立路标系统data-reactid与Dom进行mapping, 同时我们对react每个元素的props.children增加自定义key的权限。

上述做法的好处有以下几点:

  1. 更新DOM节点: 在选择父元素等的时候直接拿data-reactid进行标示查找
  2. 更新Dom的children元素:利用key可以保存相关dom节点的信息,避免在更新操作时,丢失原有数据。
    React的view层面大概讲解到这边,具体的实现细节在上一篇文章中:虚拟DOM>真实DOM信息这一点已经体现出来了。React真正的难点是它的DOM diff算法,之后我会针对dom diff进行更新

以上是关于React设计思想研究--data-reactid及key的主要内容,如果未能解决你的问题,请参考以下文章

在 Yahoo! 上通过“data-reactid”查找元素金融[关闭]

可以在没有 React 相关标记的情况下进行服务器渲染 react rc 0.10

React: 研究Redux的使用

如何更改反应组件中的reactid后缀

preact 源码学习:JSX解析与DOM渲染

深入理解React:diff 算法