术语表
开发者菜单 (Dev Menu)
应用内的开发者菜单(仅在开发构建版本中可用),提供对各种开发和调试操作的访问入口。在文档中了解更多关于开发者菜单的信息。
Fabric 渲染器 (Fabric Renderer)
React Native 执行与 Web 版 React 相同的 React 框架代码。但 React Native 渲染的是通用平台视图(宿主视图),而不是 DOM 节点(可以将其视为 Web 的宿主视图)。Fabric 渲染器使得渲染到宿主视图成为可能。Fabric 让 React 能够与每个平台通信并管理其宿主视图实例。Fabric 渲染器存在于 JavaScript 中,并以 C++ 代码提供的接口为目标。通过这篇博文阅读更多关于 React 渲染器的内容。
宿主平台 (Host platform)
嵌入 React Native 的平台(例如 Android、iOS、macOS、Windows)。
宿主视图树 (Host View Tree) 与宿主视图 (Host View)
宿主平台(如 Android、iOS)中视图的树状表示。在 Android 上,宿主视图是 android.view.ViewGroup、android.widget.TextView 等类的实例,它们是宿主视图树的构建块。每个宿主视图的大小和位置基于使用 Yoga 计算的 LayoutMetrics,而每个宿主视图的样式和内容则基于来自 React 阴影树(React Shadow Tree)的信息。
JavaScript 接口 (JSI)
一种轻量级 API,用于在 C++ 应用程序中嵌入 JavaScript 引擎。Fabric 使用它来实现 Fabric 的 C++ 核心与 React 之间的通信。
Java 本地接口 (JNI)
一种 用于编写 Java 本地方法的 API,用于在 Fabric 的 C++ 核心与 Java 编写的 Android 代码之间进行通信。
React 组件 (React Component)
一个 JavaScript 函数或类,用于指示如何创建 React 元素。 通过这篇博文阅读更多关于 React 组件和元素的内容。
React 合成组件 (React Composite Components)
具有 render 实现的 React 组件,它们最终会解析为其他 React 合成组件或 React 宿主组件。
React 宿主组件 (React Host Components) 或宿主组件 (Host Components)
视图实现由宿主视图提供的 React 组件(例如 <View>, <Text>)。在 Web 上,ReactDOM 的宿主组件类似于 <p> 和 <div>。
React 元素树 (React Element Tree) 与 React 元素 (React Element)
React 元素树 由 React 在 JavaScript 中创建,由 React 元素组成。React 元素 是一个普通的 JavaScript 对象,用于描述屏幕上应该显示的内容。它包含 props、样式和子元素。React 元素仅存在于 JavaScript 中,可以表示 React 合成组件或 React 宿主组件的实例化。 通过这篇博文阅读更多关于 React 组件和元素的内容。
React Native 框架 (React Native Framework)
React Native 允许开发人员使用 React 编程范式 将应用程序发布到原生平台。React Native 团队专注于创建最适合开发原生应用通用用例的核心 API 和功能。
将原生应用发布到生产环境通常需要一系列工具和库,这些工具和库不是 React Native 默认提供的,但对于将应用发布到生产环境至关重要。此类工具的示例包括:发布应用程序到特定商店的支持,或路由和导航机制的支持。
当这些工具和库被收集起来,形成一个构建在 React Native 之上的具有凝聚力的框架时,我们将其定义为 React Native 框架。
开源 React Native 框架的一个例子是 Expo。
React 阴影树 (React Shadow Tree) 与 React 阴影节点 (React Shadow Node)
React 阴影树 由 Fabric 渲染器创建,由 React 阴影节点组成。React 阴影节点是一个代表即将挂载的 React 宿主组件的对象,包含源自 JavaScript 的 props。它们还包含布局信息(x, y, 宽度, 高度)。在 Fabric 中,React 阴影节点对象存在于 C++ 中。在 Fabric 之前,它们存在于移动运行时堆(如 Android JVM)中。
Yoga 树 (Yoga Tree) 与 Yoga 节点 (Yoga Node)
Yoga 树 由 Yoga 使用,用于计算 React 阴影树的布局信息。由于 React Native 使用 Yoga 计算布局,因此每个 React 阴影节点通常都会创建一个 Yoga 节点。但这并非强制要求。Fabric 也可以创建不使用 Yoga 的 React 阴影节点;每个 React 阴影节点的实现决定了如何计算布局。