附录
非官方测试版翻译
本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
I. 术语
-
Spec - 描述 Turbo Native Module 或 Fabric Native Component API 的 TypeScript 或 Flow 代码。由 Codegen 用于生成样板代码。
-
原生模块 (Native Modules) - 不含用户界面(UI)的原生库。例如持久化存储、通知系统、网络事件等。可通过函数和对象形式在 JavaScript 应用代码中访问。
-
原生组件 (Native Component) - 通过 React 组件形式提供给 JavaScript 应用代码使用的原生平台视图。
-
旧版原生组件 (Legacy Native Components) - 运行在旧版 React Native 架构上的组件。
-
旧版原生模块 (Legacy Native Modules) - 运行在旧版 React Native 架构上的模块。
II. Codegen 类型定义
下表列出了支持的类型及其在各平台中的映射关系,可供参考:
| Flow | TypeScript | Flow Nullable Support | TypeScript Nullable Support | Android (Java) | iOS (ObjC) |
|---|---|---|---|---|---|
string | string | ?string | string | null | string | NSString |
boolean | boolean | ?boolean | boolean | null | Boolean | NSNumber |
Object Literal{| foo: string, ...|} | { foo: string, ...} as const | ?{| foo: string, ...|} | ?{ foo: string, ...} as const | - | - |
| Object [1] | Object [1] | ?Object | Object | null | ReadableMap | @ (untyped dictionary) |
Array<T> | Array<T> | ?Array<T> | Array<T> | null | ReadableArray | NSArray (or RCTConvertVecToArray when used inside objects) |
Function | Function | ?Function | Function | null | - | - |
Promise<T> | Promise<T> | ?Promise<T> | Promise<T> | null | com.facebook.react.bridge.Promise | RCTPromiseResolve and RCTPromiseRejectBlock |
Type Unions'SUCCESS'|'FAIL' | Type Unions'SUCCESS'|'FAIL' | Only as callbacks | - | - | |
Callbacks() => | Callbacks() => | Yes | com.facebook.react.bridge.Callback | RCTResponseSenderBlock | |
number | number | No | double | NSNumber |
注意:
[1] We strongly recommend using Object literals instead of Objects.
信息
你还可以参考 React Native 核心模块的 JavaScript 规范,这些规范位于 React Native 仓库的 Libraries/ 目录中。