虚拟DOM的确切存储位置在哪里?

时间:2019-11-30 23:56:56

标签: javascript reactjs google-chrome-devtools react-fiber

我正在折磨自己几个小时,找不到答案。 React数据到底位于哪个对象/键的哪个位置?我找到了一个对象ReactRoot,该对象似乎存储了有关组件的所有信息,但是我不知道它在窗口对象中的位置(我猜是吗?)。

它必须在窗口对象下的某个地方,对吗?

如果您拍摄内存快照并从列表中选择ReactRoot构造函数,chrome将在$0$0 in chrome)下创建对其的引用。

编辑

ReactRoot是否有可能以其他对象无法访问的方式声明?这在js中怎么可能? React没有从浏览器中得到任何特殊待遇,是吗?

1 个答案:

答案 0 :(得分:-3)

document说明了DOM Level 1的基本方法。 另请参见DOM Level 1 Core specification from the W3C

创建元素时,会创建该元素的新实例,但未渲染。直到将它们包含在DOM树中。

浏览器将仅在文档正文中呈现元素。但是其他所有东西只是对象的实例,即虚拟DOM。

// create a new Text node for the second paragraph
    var newText = document.createTextNode("This is the second paragraph.");
    // create a new Element to be the second paragraph
    var newElement = document.createElement("P");