AppRegistry
AppRegistryは、すべてのReact Nativeアプリを実行するためのJSエントリポイントです。アプリのルートコンポーネントはAppRegistry.registerComponentで自身を登録し、その後、ネイティブシステムはアプリのバンドルをロードし、準備ができたらAppRegistry.runApplicationを呼び出すことで実際にアプリを実行できます。
import {Text, AppRegistry} from 'react-native';
const App = () => (
<View>
<Text>App1</Text>
</View>
);
AppRegistry.registerComponent('Appname', () => App);
ビューが破棄されるときにアプリケーションを「停止」するには、runApplicationに渡されたタグを使用してAppRegistry.unmountApplicationComponentAtRootTagを呼び出します。これらは常にペアとして使用する必要があります。
AppRegistryは、他のモジュールが必要とされる前にJS実行環境がセットアップされるように、requireシーケンスの早い段階で要求される必要があります。
リファレンス
Methods
getAppKeys()
static getAppKeys(): string[];
文字列の配列を返します。
getRegistry()
static getRegistry(): {sections: string[]; runnables: Runnable[]};
Registryオブジェクトを返します。
getRunnable()
static getRunnable(appKey: string): : Runnable | undefined;
Runnableオブジェクトを返します。
パラメータ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
getSectionKeys()
static getSectionKeys(): string[];
文字列の配列を返します。
getSections()
static getSections(): Record<string, Runnable>;
Runnablesオブジェクトを返します。
registerCancellableHeadlessTask()
static registerCancellableHeadlessTask(
taskKey: string,
taskProvider: TaskProvider,
taskCancelProvider: TaskCancelProvider,
);
キャンセル可能なヘッドレス(UIなしの)タスクを登録します。ヘッドレスタスクとは、UIなしで実行されるコードの一部です。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| taskKey 必須 | string | startHeadlessTaskが呼び出されたときに使用された、このタスクインスタンスのネイティブID。 |
| taskProvider 必須 | TaskProvider | ネイティブ側から渡されたデータを唯一の引数として受け取る、Promiseを返す関数です。Promiseが解決または拒否されると、ネイティブ側にそのイベントが通知され、JSコンテキストを破棄するかどうかを決定する場合があります。 |
| taskCancelProvider 必須 | TaskCancelProvider | 引数を取らずvoidを返す関数。キャンセルが要求された場合、taskProviderによって実行されている関数は速やかに処理を終了して返すべきです。 |
registerComponent()
static registerComponent(
appKey: string,
getComponentFunc: ComponentProvider,
section?: boolean,
): string;
パラメータ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
| componentProvider 必須 | ComponentProvider |
| section | boolean |
registerConfig()
static registerConfig(config: AppConfig[]);
パラメータ
| 名前 | 型 |
|---|---|
| config 必須 | AppConfig[] |
registerHeadlessTask()
static registerHeadlessTask(
taskKey: string,
taskProvider: TaskProvider,
);
ヘッドレスタスクを登録します。ヘッドレスタスクはUIなしで実行されるコードの一部です。
これは、アプリがバックグラウンドにあるときにJavaScriptでタスクを実行する方法です。たとえば、新しいデータを同期したり、プッシュ通知を処理したり、音楽を再生したりするために使用できます。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| taskKey 必須 | string | startHeadlessTaskが呼び出されたときに使用された、このタスクインスタンスのネイティブID。 |
| taskProvider 必須 | TaskProvider | ネイティブ側から渡されたデータを唯一の引数として受け取る、Promiseを返す関数です。Promiseが解決または拒否されると、ネイティブ側にそのイベントが通知され、JSコンテキストを破棄するかどうかを決定する場合があります。 |
registerRunnable()
static registerRunnable(appKey: string, func: Runnable): string;
パラメータ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
| run 必須 | function |
registerSection()
static registerSection(
appKey: string,
component: ComponentProvider,
);
パラメータ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
| component 必須 | ComponentProvider |
runApplication()
static runApplication(appKey: string, appParameters: any): void;
JavaScriptバンドルをロードし、アプリを実行します。
パラメータ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
| appParameters 必須 | any |
setComponentProviderInstrumentationHook()
static setComponentProviderInstrumentationHook(
hook: ComponentProviderInstrumentationHook,
);
パラメータ
| 名前 | 型 |
|---|---|
| hook 必須 | function |
有効なhook関数は、以下のものを引数として受け取ります
| 名前 | 型 |
|---|---|
| component 必須 | ComponentProvider |
| scopedPerformanceLogger 必須 | IPerformanceLogger |
この関数はReactコンポーネントも返さなければなりません。
setWrapperComponentProvider()
static setWrapperComponentProvider(
provider: WrapperComponentProvider,
);
パラメータ
| 名前 | 型 |
|---|---|
| provider 必須 | ComponentProvider |
startHeadlessTask()
static startHeadlessTask(
taskId: number,
taskKey: string,
data: any,
);
ネイティブコードからのみ呼び出されます。ヘッドレスタスクを開始します。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| taskId 必須 | number | 実行を追跡するための、このタスクインスタンスのネイティブID。 |
| taskKey 必須 | string | 開始するタスクのキー。 |
| data 必須 | any | タスクに渡すデータ。 |
unmountApplicationComponentAtRootTag()
static unmountApplicationComponentAtRootTag(rootTag: number);
ビューが破棄されるときにアプリケーションを停止します。
パラメータ
| 名前 | 型 |
|---|---|
| rootTag 必須 | number |
型定義
AppConfig
registerConfigメソッドのアプリケーション設定。
| 型 |
|---|
| object |
プロパティ
| 名前 | 型 |
|---|---|
| appKey 必須 | string |
| component | ComponentProvider |
| run | function |
| section | boolean |
すべての設定は、componentまたはrun関数のいずれかを設定することが期待されます。
Registry
| 型 |
|---|
| object |
プロパティ
| 名前 | 型 |
|---|---|
| runnables | Runnableの配列 |
| sections | 文字列の配列 |
Runnable
| 型 |
|---|
| object |
プロパティ
| 名前 | 型 |
|---|---|
| component | ComponentProvider |
| run | function |
Runnables
appKeyをキーとし、値がRunnable型のオブジェクト。
| 型 |
|---|
| object |
Task
Taskは、任意のデータを引数として受け取り、undefinedに解決されるPromiseを返す関数です。
| 型 |
|---|
| function |
TaskCanceller
TaskCancellerは、引数を取らずvoidを返す関数です。
| 型 |
|---|
| function |
TaskCancelProvider
有効なTaskCancelProviderは、TaskCancellerを返す関数です。
| 型 |
|---|
| function |
TaskProvider
有効なTaskProviderは、Taskを返す関数です。
| 型 |
|---|
| function |