-
Notifications
You must be signed in to change notification settings - Fork 0
[6] Jetpack Compose Navigation
Sukmin Kang edited this page Mar 13, 2022
·
2 revisions
Compose에서 navigation을 사용할 때 중심 컴포넌트.
백 스택 항목을 추적하고 스택을 앞으로 이동하고 백 스택 조작을 활성화하며 화면 상태 사이를 탐색한다.
jetpack navigation과 다르게, compose에서 navigation을 사용할 때 경로는 문자열로 표시된다.
url 또는 딥링크과 유사하다고 생각하면 된다.
navigation은 백 스택을 유지하고 현재 백 스택 항목을 State로 제공한다.
대표적인 함수가 currentBackStackEntryAsState이다.
UI/UX에 있는 argument를 그대로 갖고와서 navController를 이용하여 적절한 화면으로 이동시켜주는 아주 강력하고 편리한 방법이다.
특정 composable을 넣어서 루트와 현재의 목표에대한 argument(이하 인수)를 모델링한다.
그렇게 되면 어떤 컴포넌트에대한 이벤트가 발생 했을 때 해당 컴포넌트가 갖고있는 인수를 갖고서 navController가 navigate하고,
올바른 화면(destination)이 유저에게 보여지게 된다.
딥링크와 굉장히 유사한 특징인데 마찬가지로 딥링크에대한 처리를 지원한다.
intent-filter를 manifest 파일에 선언하고, scheme과 host에 따라 적절한 화면으로 이동한다.