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 必填 | 组件提供者 |
section | boolean |
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 | 组件提供者 |
run | function |
section | boolean |
注意:每个配置都应该设置
component
或run
功能。¥Note: Every config is expected to set either
component
orrun
function.
Registry
类型 |
---|
object |
属性:
¥Properties:
名称 | 类型 |
---|---|
runnables | Runnables 数组 |
sections | 字符串数组 |
Runnable
类型 |
---|
object |
属性:
¥Properties:
名称 | 类型 |
---|---|
component | 组件提供者 |
run | function |
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 |