Skip to main content

AppRegistry

需要本地代码的项目

If you are using the managed Expo workflow there is only ever one entry component registered with AppRegistry and it is handled automatically (or through registerRootComponent). You do not need to use this API.

AppRegistry 是运行所有 React Native 应用的 JS 入口点。应用根组件应将自身注册到 AppRegistry.registerComponent,然后原生系统可以加载应用的打包包,然后在准备就绪时通过调用 AppRegistry.runApplication 实际运行该应用。

¥AppRegistry is the JS entry point to running all React Native apps. App root components should register themselves with AppRegistry.registerComponent, then the native system can load the bundle for the app and then actually run the app when it's ready by invoking AppRegistry.runApplication.

import {Text, AppRegistry} from 'react-native';

const App = () => (
<View>
<Text>App1</Text>
</View>
);

AppRegistry.registerComponent('Appname', () => App);

当视图应该被销毁时,要 "stop" 应用,请使用传递到 runApplication 的标记调用 AppRegistry.unmountApplicationComponentAtRootTag。这些应该始终成对使用。

¥To "stop" an application when a view should be destroyed, call AppRegistry.unmountApplicationComponentAtRootTag with the tag that was passed into runApplication. These should always be used as a pair.

AppRegistry 应该在 require 序列的早期被需要,以确保在需要其他模块之前设置 JS 执行环境。

¥AppRegistry should be required early in the require sequence to make sure the JS execution environment is setup before other modules are required.


参考

¥Reference

方法

¥Methods

getAppKeys()

static getAppKeys(): string[];

返回一个字符串数组。

¥Returns an array of strings.


getRegistry()

static getRegistry(): {sections: string[]; runnables: Runnable[]};

返回 Registry 对象。

¥Returns a Registry object.


getRunnable()

static getRunnable(appKey: string): : Runnable | undefined;

返回 Runnable 对象。

¥Returns a Runnable object.

参数:

¥Parameters:

名称类型
appKey
必填
string

getSectionKeys()

static getSectionKeys(): string[];

返回一个字符串数组。

¥Returns an array of strings.


getSections()

static getSections(): Record<string, Runnable>;

返回 Runnables 对象。

¥Returns a Runnables object.


registerCancellableHeadlessTask()

static registerCancellableHeadlessTask(
taskKey: string,
taskProvider: TaskProvider,
taskCancelProvider: TaskCancelProvider,
);

注册一个可以取消的无头任务。无头任务是在没有 UI 的情况下运行的一段代码。

¥Register a headless task which can be cancelled. A headless task is a bit of code that runs without a UI.

参数:

¥Parameters:

名称类型描述
taskKey
必填
string调用 startHeadlessTask 时使用的此任务实例的原生 ID。
taskProvider
必填
TaskProvider一个 promise 返回函数,将从原生端传递的一些数据作为唯一的参数。当 Promise 被解决或拒绝时,原生端会收到此事件的通知,并且它可能会决定销毁 JS 上下文。
taskCancelProvider
必填
TaskCancelProvider一个不带参数的 void 返回函数;当请求取消时,taskProvider 正在执行的函数应该尽快结束并返回。

registerComponent()

static registerComponent(
appKey: string,
getComponentFunc: ComponentProvider,
section?: boolean,
): string;

参数:

¥Parameters:

名称类型
appKey
必填
string
componentProvider
必填
组件提供者
sectionboolean

registerConfig()

static registerConfig(config: AppConfig[]);

参数:

¥Parameters:

名称类型
配置
必填
AppConfig[]

registerHeadlessTask()

static registerHeadlessTask(
taskKey: string,
taskProvider: TaskProvider,
);

注册无头任务。无头任务是在没有 UI 的情况下运行的一段代码。

¥Register a headless task. A headless task is a bit of code that runs without a UI.

这是一种在应用处于后台时在 JavaScript 中运行任务的方法。例如,它可用于同步新数据、处理推送通知或播放音乐。

¥This is a way to run tasks in JavaScript while your app is in the background. It can be used, for example, to sync fresh data, handle push notifications, or play music.

参数:

¥Parameters:

名称类型描述
taskKey
必填
string调用 startHeadlessTask 时使用的此任务实例的原生 ID。
taskProvider
必填
TaskProvider一个 promise 返回函数,将从原生端传递的一些数据作为唯一的参数。当 Promise 被解决或拒绝时,原生端会收到此事件的通知,并且它可能会决定销毁 JS 上下文。

registerRunnable()

static registerRunnable(appKey: string, func: Runnable): string;

参数:

¥Parameters:

名称类型
appKey
必填
string
运行
必需
function

registerSection()

static registerSection(
appKey: string,
component: ComponentProvider,
);

参数:

¥Parameters:

名称类型
appKey
必填
string
组件
必需
组件提供者

runApplication()

static runApplication(appKey: string, appParameters: any): void;

加载 JavaScript 包并运行应用。

¥Loads the JavaScript bundle and runs the app.

参数:

¥Parameters:

名称类型
appKey
必填
string
appParameters
必填
any

setComponentProviderInstrumentationHook()

static setComponentProviderInstrumentationHook(
hook: ComponentProviderInstrumentationHook,
);

参数:

¥Parameters:

名称类型
钩子
必填
function

有效的 hook 函数接受以下参数作为参数:

¥A valid hook function accepts the following as arguments:

名称类型
组件
必需
组件提供者
scopedPerformanceLogger
必填
IPerformanceLogger

该函数还必须返回一个 React 组件。

¥The function must also return a React Component.


setWrapperComponentProvider()

static setWrapperComponentProvider(
provider: WrapperComponentProvider,
);

参数:

¥Parameters:

名称类型
提供商
必填
组件提供者

startHeadlessTask()

static startHeadlessTask(
taskId: number,
taskKey: string,
data: any,
);

仅从原生代码调用。启动无头任务。

¥Only called from native code. Starts a headless task.

参数:

¥Parameters:

名称类型描述
taskId
必填
number此任务实例的原生 ID,用于跟踪其执行情况。
taskKey
必填
string任务启动的关键。
数据
必填
any要传递给任务的数据。

unmountApplicationComponentAtRootTag()

static unmountApplicationComponentAtRootTag(rootTag: number);

当视图应该被销毁时停止应用。

¥Stops an application when a view should be destroyed.

参数:

¥Parameters:

名称类型
rootTag
必填
number

类型定义

¥Type Definitions

AppConfig

registerConfig 方法的应用配置。

¥Application configuration for the registerConfig method.

类型
object

属性:

¥Properties:

名称类型
appKey
必填
string
component组件提供者
runfunction
sectionboolean

注意:每个配置都应该设置 componentrun 功能。

¥Note: Every config is expected to set either component or run function.

Registry

类型
object

属性:

¥Properties:

名称类型
runnablesRunnables 数组
sections字符串数组

Runnable

类型
object

属性:

¥Properties:

名称类型
component组件提供者
runfunction

Runnables

键为 appKey、值类型为 Runnable 的对象。

¥An object with key of appKey and value of type of Runnable.

类型
object

Task

Task 是一个函数,它接受任何数据作为参数并返回解析为 undefined 的 Promise。

¥A Task is a function that accepts any data as argument and returns a Promise that resolves to undefined.

类型
function

TaskCanceller

TaskCanceller 是一个不接受参数并返回 void 的函数。

¥A TaskCanceller is a function that accepts no argument and returns void.

类型
function

TaskCancelProvider

有效的 TaskCancelProvider 是返回 TaskCanceller 的函数。

¥A valid TaskCancelProvider is a function that returns a TaskCanceller.

类型
function

TaskProvider

有效的 TaskProvider 是返回 Task 的函数。

¥A valid TaskProvider is a function that returns a Task.

类型
function