0

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

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

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

而且我还阅读了许多文章,这些文章解释了反应虚拟 dom 的工作原理,它在将其节点渲染到真实 dom 之前使用 diff 过程。

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

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

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

感谢您的帮助

4

2 回答 2

1

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

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

顺便说一句,在渲染之后- getSnapshotBeforeUpdate(prevProps, prevState) 被调用,然后才调用componentDidUpdate

根据反应文档-

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

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

于 2019-02-23T13:48:19.503 回答
1

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

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

于 2019-02-23T13:51:32.423 回答