【发布时间】:2018-07-04 09:22:17
【问题描述】:
我正在学习 React,并试图更好地了解生命周期和不同阶段。
我刚刚读到的一件事是“React 首先渲染然后安装元素。在这种情况下渲染意味着调用一个类的 render(),而不是绘制 DOM”
我想我只是不明白这意味着什么。有人可以用简单的方式或举例说明吗?
提前致谢!
【问题讨论】:
我正在学习 React,并试图更好地了解生命周期和不同阶段。
我刚刚读到的一件事是“React 首先渲染然后安装元素。在这种情况下渲染意味着调用一个类的 render(),而不是绘制 DOM”
我想我只是不明白这意味着什么。有人可以用简单的方式或举例说明吗?
提前致谢!
【问题讨论】:
先做一些简化的定义:
dom 来决定显示什么。在 react 中,这被称为 painting,因为每当 something 添加到 dom 时,浏览器都必须重新绘制屏幕。dom 操作代价高昂。无论是时间还是资源virtual dom 的东西。虚拟 dom 尝试镜像实际 dom,它们可能会在一段时间内不同步,因为对虚拟 dom 的所有更改都不会立即反映在实际 dom 上(否则拥有虚拟 dom 有什么好处?)记住这些定义,让我们看看 React 做了什么:
render 方法来填充其 虚拟 dom
painting。
React 在后台使用了很多优化,我不知道所有的优化(我也会争辩说,我不需要知道它们在做什么),但这里有一些事情要记住:
render 方法返回相同的内容,react 就不会在屏幕上执行任何操作。 render 方法,即使您不希望它会这样做。 render 方法应该只具有与需要渲染的内容相关的逻辑,它可能需要执行的其他任何操作都可以在外部计算并放入状态或变量甚至记忆中。【讨论】: