反应组件渲染函数指的是哪个 DOM? real-dom 还是 vitual-dom?



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

根据 render() 函数在 react 组件中的作用是什么?

渲染函数是反应组件生命周期的一部分,其中 ReactDOM 是公开使用称为 render 的方法的类对象 将 React JSX 内容渲染到 DOM 中。

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

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

我想知道这个domreal-dom还是virtual-dom

实际上我在理解render()后立即调用componentDidUpdate()时遇到了一些麻烦,意识到我对组件render函数缺乏了解

感谢您的帮助

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

本文将有助于深入了解虚拟 DOM,https://medium.com/@gethylgeorge/how-virtual-dom-and-diffing-works-in-react-6fc805f9f84e

componentDidUpdate是在 react 组件生命周期的给定周期内对 props 变化做出反应的最后机会。

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

和 BTW 在渲染之后 - getSnapshotBeforeUpdate(prevProps,prevState)被调用,然后才调用组件DidUpdate

根据反应文档 -

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

所以我假设渲染方法指的是真正的 DOM。

最新更新