跳至主要内容

附录

I. 术语

  • 规范 (Spec) - TypeScript 或 Flow 代码,用于描述 Turbo Native 模块或 Fabric Native 组件的 API。由 代码生成 (Codegen) 用于生成样板代码。

  • 原生模块 (Native Modules) - 没有用户界面 (UI) 的原生库。例如持久存储、通知、网络事件。您的 JavaScript 应用程序代码可以将其作为函数和对象访问。

  • 原生组件 (Native Component) - 原生平台视图,可以通过 React 组件在您的应用程序 JavaScript 代码中使用。

  • 旧版原生组件 (Legacy Native Components) - 在旧版 React Native 架构上运行的组件。

  • 旧版原生模块 (Legacy Native Modules) - 在旧版 React Native 架构上运行的模块。

II. 代码生成类型 (Codegen Typings)

您可以使用下表作为参考,了解哪些类型受支持以及它们在每个平台上映射到的内容

FlowTypeScriptFlow 可空支持TypeScript 可空支持Android (Java)iOS (ObjC)
字符串字符串?字符串字符串 | null字符串NSString
布尔值布尔值?布尔值布尔值 | nullBooleanNSNumber
对象字面量
{| foo: 字符串, ...|}
{ foo: 字符串, ...} as const?{| foo: 字符串, ...|}?{ foo: 字符串, ...} as const--
对象 [1]对象 [1]?对象对象 | nullReadableMap@ (未类型化的字典)
Array<T>Array<T>?Array<T>Array<T> | nullReadableArrayNSArray (或在对象内部使用时为 RCTConvertVecToArray)
函数函数?函数函数 | null--
Promise<T>Promise<T>?Promise<T>Promise<T> | nullcom.facebook.react.bridge.PromiseRCTPromiseResolveRCTPromiseRejectBlock
类型联合
'SUCCESS'|'FAIL'
类型联合
'SUCCESS'|'FAIL'
仅作为回调--
回调
() =>
回调
() =>
com.facebook.react.bridge.CallbackRCTResponseSenderBlock
数字数字双精度浮点数NSNumber

注释:

[1] 我们强烈建议使用对象字面量而不是对象。

信息

您可能还会发现参考 React Native 中核心模块的 JavaScript 规范很有用。这些规范位于 React Native 代码库中的 Libraries/ 目录中。