React Native 是否使用“虚拟 DOM”?

Doc*_*son 5 reactjs react-native

我试图弄清楚 React Native 是如何在幕后工作的,我不确定的是 React Native 是否利用了 React 使用的所谓“虚拟 DOM”。我假设 React Native 以某种方式跟踪应用程序状态的变化,然后做最少的工作来达到新状态,即React 中的协调。我知道在移动端没有真正的 DOM 并且 React Native 调用本机 API 来呈现/重新呈现视图,但是......

可以说 React Native 也使用了“虚拟 DOM”,如果不是,那怎么用语言表达呢?

Rav*_*rma 2

React 中的 UI 渲染

\n\n

与真实 DOM 一样,虚拟 DOM 是一个节点树,将元素及其属性和内容列为对象和属性。React\xe2\x80\x99s render() 方法从 React 组件创建一个节点树,并更新该树以响应由操作引起的数据模型中的突变。

\n\n

因此,每当发生任何更改时,整个 UI 都会以虚拟 DOM 表示形式重新呈现。将计算之前的虚拟 DOM 表示和新的虚拟 DOM 表示之间的差异。真实的 DOM 将根据实际变化进行更新。

\n\n

React Native 中的 UI 渲染

\n\n

这些 React-Native 组件映射了在应用程序上呈现的实际真实本机 iOS 或 Android UI 组件,这意味着 React Native 使用本机 API 在移动设备上呈现组件。React Native 使用影子线程,使用YOGA执行布局计算。

\n\n

如果组件状态发生任何变化,它将使用影子线程计算后台的变化,然后更新 UI 线程。

\n