Reactjs react组件呈现函数引用哪个DOM?真正的dom还是虚拟dom?

Reactjs react组件呈现函数引用哪个DOM?真正的dom还是虚拟dom?,reactjs,react-lifecycle,Reactjs,React Lifecycle,我读过很多文章,相信这个问题不是重复的 据 渲染函数是react组件生命周期的一部分,其中ReactDOM 是一个类对象,它公开了一个名为render的方法 将React JSX内容呈现到DOM中 我还阅读了许多文章,这些文章解释了react虚拟dom是如何工作的,它在将节点渲染到真实dom之前使用diff过程 所有的文章(至少我读过的)都提到render()反映了dom 我想知道那dom是realdom还是virtualdom 实际上,我在理解componentdiddupdate()时遇到了

我读过很多文章,相信这个问题不是重复的

渲染函数是react组件生命周期的一部分,其中ReactDOM 是一个类对象,它公开了一个名为render的方法 将React JSX内容呈现到DOM中

我还阅读了许多文章,这些文章解释了react虚拟dom是如何工作的,它在将节点渲染到真实dom之前使用diff过程

所有的文章(至少我读过的)都提到render()反映了
dom

我想知道那
dom
realdom
还是
virtualdom

实际上,我在理解
componentdiddupdate()
时遇到了一些问题,在
render()
之后立即调用该组件,我意识到我对组件的
render
函数缺乏理解


感谢您的帮助

组件更新是在react组件生命周期内对道具变化做出反应的最后机会

这是最后一次机会,因为它可以访问prevProps

顺便说一句,在渲染之后调用getSnapshotBeforeUpdate(prevProps,prevState),然后才调用组件didUpdate

根据react文件-

getSnapshotBeforeUpdate()在最近呈现的输出提交到DOM之前调用。它使您的组件能够在可能发生更改之前从DOM中捕获一些信息(例如滚动位置)。此生命周期返回的任何值都将作为参数传递给componentDidUpdate()


因此,我假设render方法引用的是真实的DOM。

componentdiddupdate是在react组件生命周期的给定周期内对道具更改做出反应的最后机会

这是最后一次机会,因为它可以访问prevProps

顺便说一句,在渲染之后调用getSnapshotBeforeUpdate(prevProps,prevState),然后才调用组件didUpdate

根据react文件-

getSnapshotBeforeUpdate()在最近呈现的输出提交到DOM之前调用。它使您的组件能够在可能发生更改之前从DOM中捕获一些信息(例如滚动位置)。此生命周期返回的任何值都将作为参数传递给componentDidUpdate()


所以我假设render方法是指真实的DOM。

react与虚拟DOM交互。要对真实DOM应用更新/更改,虚拟DOM核心功能即协调算法开始发挥作用。 它的工作是提出最优化的解决方案来解决以前和当前虚拟DOM状态之间的差异。然后将新的虚拟DOM应用于真实DOM


这篇文章将有助于深入理解虚拟DOM

react与虚拟DOM的交互。要将更新/更改应用于真实DOM,虚拟DOM核心功能即协调算法将发挥作用。 它的工作是提出最优化的解决方案来解决以前和当前虚拟DOM状态之间的差异。然后将新的虚拟DOM应用于真实DOM


本文将有助于深入理解虚拟DOM

谢谢。也许我们不能在真实dom和虚拟dom中选择一个。因为渲染函数与这两者都相关,对吧?这确实是不确定的,但渲染函数的目的似乎是向DOM中添加东西,它们必须是纯的,以便它们只反映DOM中应该包含的内容,我相信这是对真实DOM的引用。谢谢。也许我们不能在真实dom和虚拟dom中选择一个。因为渲染函数与两者都相关,对吧?这确实是不确定的,但渲染函数的目的似乎是向DOM中添加东西,它们必须是纯的,所以它们只反映DOM中应该包含的内容,我相信这是对真实DOM的引用。