第12章 附录 · React Native(v0.77)
版本:0.77 附录
一、术语
Spec - 描述 Turbo Native 模块或 Fabric Native 组件 API 的 TypeScript 或 Flow 代码。供 Codegen 生成样板代码使用。
Native Modules - 没有用户界面(UI)的原生库。例如持久存储、通知、网络事件等。这些模块在 JavaScript 应用代码中表现为函数和对象。
Native Component - 可通过 React 组件在应用 JavaScript 代码中访问的原生平台视图。
Legacy Native Components - 运行在旧版 React Native 架构上的组件。
Legacy Native Modules - 运行在旧版 React Native 架构上的模块。
二、Codegen 类型映射
以下表格可作为参考,列出受支持的类型及其在各平台上的对应关系:
FlowTypeScriptFlow 空值支持TypeScript 空值支持Android (Java)iOS (ObjC)stringstring?stringstring | nullstringNSStringbooleanboolean?booleanboolean | nullBooleanNSNumberObject Literal
{
foo: string, ...
}
?
{
foo: string, ...
} as const
?
{
foo: string, ...
}
--Object [1]Object [1]?ObjectObject | nullReadableMap@ (无类型字典)Array
注:
[1] 强烈建议使用对象字面量(Object literals)而非通用对象(Objects)。
info 参考 React Native 核心模块的 JavaScript 规范也有帮助。这些规范位于 React Native 仓库的 Libraries/ 目录下。