수명 주기
전역 수명 주기
- Starting: 초기화 중이며 업무 단위는 아직 없습니다.
- Ready: 첫 업무 단위가 생성되었습니다. 추가 생성은 다시 발생시키지 않습니다.
- Rendered: 표준 UI의 최초 렌더링 전환 완료. 모든 비동기 콘텐츠의 준비를 보장하지 않습니다.
- Steady: 표준 UI가 Rendered 이후 지연 진입합니다. 모든 비동기 작업 완료를 기다리지 않습니다.
Facade API
TypeScript
const currentStage = univerAPI.getCurrentLifecycleStage()const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => { console.log(stage)})이벤트가 알리는 대상
LifeCycleChanged는 Univer의 전역 단계를 알립니다. 예를 들어 전역 Ready 이후 B를 로드하면 B의 onReady()는 호출되지만 전역 Ready 이벤트가 다시 발생하지는 않습니다.
리스너를 추가할 때 콜백이 Starting을 포함한 현재 단계를 즉시 받을 수 있습니다. 현재 단계만 확인하려면 univerAPI.getCurrentLifecycleStage()를 직접 호출하세요.
리스너를 제거하려면 반환된 disposable 객체를 사용합니다.
TypeScript
disposable.dispose()플러그인 수명 주기 훅
플러그인은 로드될 때 onStarting()을 실행하고 현재 전역 단계까지 따라잡습니다. B의 로드 단계를 선택하여 A와 호출 순서를 비교하세요.
B 로드 단계 · Rendered
전역: Starting전역: Starting · 1 / 14
동기 훅 호출 순서를 보여 주기 위해 느리게 재생합니다.
범용 플러그인은 등록 시, 업무 유형 플러그인은 보통 해당 유형의 첫 단위 생성 전에 로드됩니다. 이미 시작된 유형에 추가한 플러그인은 지연 후 일괄 로드됩니다. 명시한 의존 관계로 더 일찍 로드될 수도 있습니다.
각 배치는 의존 순서와 단계 순서에 따라 동기적으로 훅을 호출하며 비동기 작업은 기다리지 않습니다. 단위, DOM, 리소스의 준비 상태는 개별적으로 확인하세요.
이 가이드는 어떠셨나요?