术语表
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
开发者菜单
应用内开发者菜单(在开发版本中可用),提供各种开发和调试功能。在文档中了解开发者菜单详情。
Fabric 渲染器
React Native 执行与 Web 版 React 相同的框架代码,但渲染目标是通用平台视图(宿主视图)而非 DOM 节点(可视为 Web 的宿主视图)。Fabric 渲染器实现了向宿主视图的渲染,使 React 能够与各平台通信并管理宿主视图实例。该渲染器存在于 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 通过它在 C++ 核心层与 React 间通信。
Java 原生接口 (JNI)
用于编写 Java 原生方法的 API,实现 Fabric 的 C++ 核心层与 Java 编写的 Android 平台间通信。
React 组件
JavaScript 函数或类,指导如何创建 React 元素。在此博客文章中了解 React 组件与元素。
React 复合组件
包含 render 实现的 React 组件,最终会解析为其他复合组件或宿主组件。
React 宿主组件
视图实现由宿主视图提供的 React 组件(如 <View>, <Text>)。在 Web 中,ReactDOM 的宿主组件对应 <p> 和 <div> 等元素。
React 元素树(及 React 元素)
_React 元素树_由 React 在 JavaScript 中创建,由 React 元素构成。_React 元素_是描述屏幕显示内容的普通 JavaScript 对象,包含属性、样式和子元素。元素仅存在于 JavaScript 层,可表示复合组件或宿主组件的实例。在此博客文章中了解组件与元素。
React Native 框架
React Native 允许开发者运用 React 编程范式构建原生应用。团队专注于创建满足原生应用开发通用需求的核心 API和功能。
发布原生应用到生产环境通常需要额外工具链,这些虽非 React Native 默认提供,但对生产部署至关重要,例如:应用商店发布支持、路由导航机制等。
当这些工具库被整合为基于 React Native 的完整框架时,即构成React Native 框架。
一个开源的 React Native 框架示例是 Expo。
React Shadow Tree(与 React Shadow Node)
React Shadow Tree 由 Fabric 渲染器创建,由 React Shadow Node 组成。React Shadow Node 是一个表示待挂载 React Host Component 的对象,包含来自 JavaScript 的 props 以及布局信息(x, y, width, height)。在 Fabric 架构中,React Shadow Node 对象存在于 C++ 层。在 Fabric 之前,这些对象存在于移动端运行时堆中(例如 Android JVM)。
Yoga Tree(与 Yoga Node)
Yoga Tree 被 Yoga 用于计算 React Shadow Tree 的布局信息。每个 React Shadow Node 通常会创建对应的 Yoga Node,因为 React Native 使用 Yoga 进行布局计算。但这并非强制要求——Fabric 也可以创建不使用 Yoga 的 React Shadow Node,具体布局计算方式由每个 React Shadow Node 的实现决定。