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
シーケンスの早い段階で読み込む必要があります。
リファレンス
メソッド
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なしで実行されるコードのことです。
パラメータ
名前 | 型 | 説明 |
---|---|---|
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 | Runnables の配列 |
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 |