Skip to main content
Version: Next

id: appregistry title: AppRegistry

AppRegistry는 모든 React Native 앱을 실행하기 위한 자바스크립트 엔트리 포인트다. 앱의 루트 컴포넌트는 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는 다른 모듈을 불러오기 전에 자바스크립트 실행 환경이 설정되도록, 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
필수
stringstartHeadlessTask 호출 시 사용된 이 태스크 인스턴스의 고유 ID.
taskProvider
필수
TaskProvider네이티브 측에서 전달된 데이터를 인자로 받아 Promise를 반환하는 함수. Promise가 resolve되거나 reject되면 네이티브 측에 이벤트가 알림을 받고, JS 컨텍스트를 종료할 수 있다.
taskCancelProvider
필수
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 없이 실행되는 코드 조각이다.

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

매개변수:

이름타입설명
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
필수
number태스크 실행을 추적하기 위한 네이티브 ID.
taskKey
필수
string시작할 태스크의 키.
data
필수
any태스크에 전달할 데이터.

unmountApplicationComponentAtRootTag()​

tsx
static unmountApplicationComponentAtRootTag(rootTag: number);

뷰를 제거해야 할 때 애플리케이션을 중단한다.

매개변수:

이름타입
rootTag
필수
number

타입 정의​

AppConfig​

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

타입
object

속성:

이름타입
appKey
필수
string
componentComponentProvider
runfunction
sectionboolean

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

레지스트리​

타입
객체

속성:

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

실행 가능 객체(Runnable)​

타입
객체

속성:

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

실행 가능한 객체​

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

타입
object

Task​

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

타입
function

TaskCanceller​

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

타입
function

TaskCancelProvider​

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

타입
function

TaskProvider​

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

타입
function