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