付録
I. 用語
-
仕様 - Turbo Native ModuleまたはFabric NativeコンポーネントのAPIを記述するTypeScriptまたはFlowコード。コード生成によってボイラープレートコードを生成するために使用されます。
-
ネイティブモジュール - ユーザーインターフェイス(UI)を持たないネイティブライブラリ。永続ストレージ、通知、ネットワークイベントなどが例として挙げられます。これらは、JavaScriptアプリケーションコードから関数やオブジェクトとしてアクセスできます。
-
ネイティブコンポーネント - Reactコンポーネントを通じてアプリケーションのJavaScriptコードから利用できるネイティブプラットフォームビュー。
-
レガシーネイティブコンポーネント - 古いReact Nativeアーキテクチャで実行されているコンポーネント。
-
レガシーネイティブモジュール - 古いReact Nativeアーキテクチャで実行されているモジュール。
II. コード生成の型定義
次の表は、サポートされている型と各プラットフォームでの対応関係の参考として使用できます。
Flow | TypeScript | FlowのNull許容サポート | TypeScriptのNull許容サポート | 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 |
型の共用体'SUCCESS'|'FAIL' | 型の共用体'SUCCESS'|'FAIL' | コールバックとしてのみ | - | - | |
コールバック() => | コールバック() => | はい | com.facebook.react.bridge.Callback | RCTResponseSenderBlock | |
number | number | いいえ | double | NSNumber |
注記:
[1] Objectの代わりにオブジェクトリテラルを使用することを強くお勧めします。
情報
React NativeのコアモジュールのJavaScript仕様を参照すると役立つ場合があります。これらは、React NativeリポジトリのLibraries/
ディレクトリにあります。