Skip to main content

AppRegistry는 모든 React Native 앱을 실행하기 위한 JS 진입점이다. 앱의 루트 컴포넌트는 AppRegistry.registerComponent를 통해 스스로를 등록해야 한다. 그런 다음 네이티브 시스템이 앱의 번들을 로드하고, 준비가 되면 AppRegistry.runApplication을 호출해 앱을 실제로 실행한다.

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

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

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

뷰가 파괴될 때 앱을 "중지"하려면, runApplication에 전달된 태그와 함께 AppRegistry.unmountApplicationComponentAtRootTag를 호출한다. 이 두 메서드는 항상 쌍으로 사용해야 한다.

AppRegistry는 다른 모듈이 로드되기 전에 JS 실행 환경이 설정되도록, require 시퀀스의 초기에 불러와야 한다.

참조

메서드

getAppKeys()

tsx
static getAppKeys(): string[];

문자열 배열을 반환한다.

getRegistry()

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

Registry 객체를 반환한다.

getRunnable()

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

Runnable 객체를 반환한다.

매개변수:

이름타입
appKey
필수
string

getSectionKeys()

tsx
static getSectionKeys(): string[];

문자열 배열을 반환한다.

getSections()

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

Runnables 객체를 반환한다.

registerCancellableHeadlessTask()

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

UI 없이 실행되는 코드 조각인 헤드리스 태스크를 등록한다. 이 태스크는 취소가 가능하다.

매개변수:

이름타입설명
taskKey
Required
stringstartHeadlessTask 호출 시 사용된 이 태스크 인스턴스의 네이티브 ID.
taskProvider
Required
TaskProvider네이티브 측에서 전달된 데이터를 인자로 받아 Promise를 반환하는 함수. Promise가 이행되거나 거부되면 네이티브 측에 이벤트가 통지되고, JS 컨텍스트를 파괴할 수 있다.
taskCancelProvider
Required
TaskCancelProvider인자를 받지 않고 void를 반환하는 함수. 취소 요청이 들어오면, taskProvider가 실행 중인 함수는 최대한 빨리 작업을 마무리하고 반환해야 한다.

registerComponent()

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

파라미터:

이름타입
appKey
필수
string
componentProvider
필수
ComponentProvider
sectionboolean

registerConfig()

tsx
static registerConfig(config: AppConfig[]);

파라미터:

이름타입
config
필수
AppConfig[]

registerHeadlessTask()

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

헤드리스 태스크를 등록한다. 헤드리스 태스크는 UI 없이 실행되는 코드 조각이다.

이 기능은 앱이 백그라운드에 있을 때 자바스크립트에서 태스크를 실행하는 방법이다. 예를 들어, 최신 데이터를 동기화하거나 푸시 알림을 처리하거나 음악을 재생하는 데 사용할 수 있다.

매개변수:

이름타입설명
taskKey
필수
stringstartHeadlessTask가 호출될 때 사용된 이 태스크 인스턴스의 네이티브 ID.
taskProvider
필수
TaskProvider네이티브 측에서 전달된 데이터를 유일한 인자로 받는 Promise를 반환하는 함수. Promise가 resolve되거나 reject되면 네이티브 측에 이 이벤트가 알려지고, JS 컨텍스트를 종료할지 결정할 수 있다.

registerRunnable()

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

인자:

이름타입
appKey
필수
string
run
필수
function

registerSection()

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

매개변수:

이름타입
appKey
필수
string
component
필수
ComponentProvider

runApplication()

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

JavaScript 번들을 로드하고 앱을 실행한다.

매개변수:

이름타입
appKey
필수
string
appParameters
필수
any

setComponentProviderInstrumentationHook()

tsx
static setComponentProviderInstrumentationHook(
hook: ComponentProviderInstrumentationHook,
);

인자:

이름타입
hook
필수
function

유효한 hook 함수는 다음과 같은 인자를 받아야 한다:

이름타입
component
필수
ComponentProvider
scopedPerformanceLogger
필수
IPerformanceLogger

이 함수는 반드시 React 컴포넌트를 반환해야 한다.

setWrapperComponentProvider()

tsx
static setWrapperComponentProvider(
provider: WrapperComponentProvider,
);

인자:

이름타입
provider
필수
ComponentProvider

startHeadlessTask()

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

네이티브 코드에서만 호출된다. 헤드리스 태스크를 시작한다.

매개변수:

이름타입설명
taskId
Required
number태스크 실행을 추적하기 위한 네이티브 ID.
taskKey
Required
string시작할 태스크의 키.
data
Required
any태스크에 전달할 데이터.

unmountApplicationComponentAtRootTag()

tsx
static unmountApplicationComponentAtRootTag(rootTag: number);

뷰가 파괴되어야 할 때 애플리케이션을 중지한다.

인자:

이름타입
rootTag
필수
number

타입 정의

AppConfig

registerConfig 메서드를 위한 애플리케이션 설정.

타입
object

속성:

이름타입
appKey
필수
string
componentComponentProvider
runfunction
sectionboolean

참고: 모든 설정은 component 또는 run 함수 중 하나를 반드시 설정해야 한다.

레지스트리

타입
객체

속성:

이름타입
runnablesRunnables 배열
sections문자열 배열

실행 가능 객체

타입
객체

속성:

이름타입
component컴포넌트 프로바이더
run함수

실행 가능 객체

appKey를 키로 가지고 Runnable 타입을 값으로 가지는 객체를 의미한다.

타입
객체

Task

Task는 어떤 데이터든 인자로 받아서 undefined로 이행되는 Promise를 반환하는 함수다.

타입
function

TaskCanceller

TaskCanceller는 인자를 받지 않고 반환 값도 없는 함수 타입이다.

타입
function

TaskCancelProvider

유효한 TaskCancelProviderTaskCanceller를 반환하는 함수다.

타입
function

TaskProvider

유효한 TaskProviderTask를 반환하는 함수이다.

타입
function