Appendix
注意
本文档内容仍处于实验阶段,内容会随着版本的迭代进行修改。您可随时在我们的工作组的讨论区发送反馈。 此外,本文档还包含了若干需手动配置的步骤,但这不代表新架构稳定版的最终开发体验。我们仍在开发相关的工具、模板和第三方库,帮助你更快地迁移到新架构上,而非从头开始配置环境。
一、术语
整个与新架构相关的指南将遵循以下术语:
- 传统原生组件 - 指运行在旧版 React Native 架构上的组件。
- 传统原生模块 - 指运行在旧版 React Native 架构上的模块。
- Fabric 原生组件 - 指已经适配以与新架构(即新渲染器)良好协同工作的组件。为简洁起见,您可能会看到它们被称为Fabric 组件。
- Turbo 原生模块 - 指已经适配以与新架构(即新原生模块系统)良好协同工作的模块。为简洁起见,您可能会看到它们被称为Turbo 模块。
II. Flow 类型到原生类型的映射
您可以使用以下表格作为参考,了解每个平台支持哪些类型以及它们在各个平台上的映射关系:
string
Nullable Support? | ?string |
---|---|
Android (Java) | String |
iOS | NSString |
boolean
Nullable Support? | ?boolean |
---|---|
Android (Java) | Boolean |
iOS | NSNumber |
对象字面量
比起普通的Object
来说我们更推荐使用对象字面量,其更具有类型安全性。
示例: {| foo: string, ... |}
Nullable Support? | ?{| foo: string, ...|} |
---|---|
Android (Java) | - |
iOS | - |
Object
note
推荐使用对象字面量。
Nullable Support? | ?Object |
---|---|
Android (Java) | ReadableMap |
iOS | @ (untyped dictionary) |
Array<*>
Nullable Support? | ?Array<*> |
---|---|
Android (Java) | ReadableArray |
iOS | NSArray (or RCTConvertVecToArray when used inside objects) |