跳至主内容
版本:0.82

附录

非官方测试版翻译

本页面由 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 类型定义

下表列出了支持的类型及其在各平台中的映射关系,可供参考:

FlowTypeScriptFlow Nullable SupportTypeScript Nullable SupportAndroid (Java)iOS (ObjC)
stringstring?stringstring | nullstringNSString
booleanboolean?booleanboolean | nullBooleanNSNumber
Object Literal
{| foo: string, ...|}
{ foo: string, ...} as const?{| foo: string, ...|}?{ foo: string, ...} as const--
Object [1]Object [1]?ObjectObject | nullReadableMap@ (untyped dictionary)
Array<T>Array<T>?Array<T>Array<T> | nullReadableArrayNSArray (or RCTConvertVecToArray when used inside objects)
FunctionFunction?FunctionFunction | null--
Promise<T>Promise<T>?Promise<T>Promise<T> | nullcom.facebook.react.bridge.PromiseRCTPromiseResolve and RCTPromiseRejectBlock
Type Unions
'SUCCESS'|'FAIL'
Type Unions
'SUCCESS'|'FAIL'
Only as callbacks--
Callbacks
() =>
Callbacks
() =>
Yescom.facebook.react.bridge.CallbackRCTResponseSenderBlock
numbernumberNodoubleNSNumber

注意:

[1] We strongly recommend using Object literals instead of Objects.

信息

你还可以参考 React Native 核心模块的 JavaScript 规范,这些规范位于 React Native 仓库的 Libraries/ 目录中。