我读过很多文章,相信这个问题不是重复的。
根据 render() 函数在 react 组件中的作用是什么?
渲染函数是反应组件生命周期的一部分,其中 ReactDOM 是公开使用称为 render 的方法的类对象 将 React JSX 内容渲染到 DOM 中。
我还阅读了许多解释 react 虚拟 dom 如何工作的文章,它在将其节点渲染到 real-dom 之前使用 diff 过程。
所有的文章(至少我读过的文章)都提到 render() 反映了dom
我想知道这个dom
是real-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。