付録
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 サポート | TypeScript Nullable サポート | Android (Java) | iOS (ObjC) |
---|---|---|---|---|---|
string | string | ?string | string | null | string | NSString |
boolean | boolean | ?boolean | boolean | null | Boolean | NSNumber |
オブジェクトリテラル{| foo: string, ...|} | { foo: string, ...} as const | ?{| foo: string, ...|} | ?{ foo: string, ...} as const | - | - |
Object [1] | Object [1] | ?Object | Object | null | ReadableMap | @ (型付けされていない辞書) |
Array<T> | Array<T> | ?Array<T> | Array<T> | null | ReadableArray | NSArray (またはオブジェクト内で使用される場合は RCTConvertVecToArray ) |
Function | Function | ?Function | Function | null | - | - |
Promise<T> | Promise<T> | ?Promise<T> | Promise<T> | null | com.facebook.react.bridge.Promise | RCTPromiseResolve と RCTPromiseRejectBlock |
Union型'SUCCESS'|'FAIL' | Union型'SUCCESS'|'FAIL' | コールバックとしてのみ | - | - | |
コールバック() => | コールバック() => | はい | com.facebook.react.bridge.Callback | RCTResponseSenderBlock | |
number | number | No | double | NSNumber |
注釈:
[1] Objectの代わりにオブジェクトリテラルを使用することを強く推奨します。
info
React NativeのコアモジュールのJavaScript仕様を参照することも役立つ場合があります。これらはReact Nativeリポジトリの Libraries/
ディレクトリ内にあります。