Slate 페이지와 공유 상태
Slate 페이지는 한 앱의 UI, 질의, 변수, 함수와 이벤트를 나누는 단위입니다. 각 페이지는 분리된 범위를 가지며 별도로 로드됩니다. 복잡한 앱을 페이지별로 나누면 한 화면의 로직과 리소스를 필요한 범위로 관리할 수 있습니다.
페이지 추가와 삭제
Pages 패널의 +를 선택하고 페이지 이름을 입력합니다.
삭제할 때에는 해당 페이지 옆 ... 메뉴에서 Delete를 선택합니다.
페이지 이동과 URL
onNavigate[page_name] 이벤트와 navigateTo[page_name] 액션으로 같은 앱의 페이지 이동을 구성합니다. page_name은 대상 페이지 이름입니다. 페이지를 이동하면 URL도 갱신됩니다.
페이지를 연 상태의 URL을 공유하면 특정 페이지로 직접 연결할 수 있습니다. 예제 경로 /workspace/slate/app/my-travel-planner/accommodation에서 마지막 accommodation은 페이지 이름입니다.
페이지 사이의 상태
앱 상태에는 변수, 사용자 입력과 설정처럼 화면의 동작과 결과에 영향을 주는 값이 포함됩니다. 예를 들어 장바구니에 담긴 항목, 사용자 설정이나 로그인 상태를 나타내는 값이 해당할 수 있습니다.
여러 페이지에서 같은 값을 사용하려면 Shared variable로 만듭니다. 한 페이지의 함수나 사용자 상호작용이 값을 바꾸고 다른 페이지가 그 값을 읽을 수 있습니다.
앱을 다시 연 뒤에도 사용자별 설정을 유지해야 한다면 User storage 변수를 사용합니다. 이 변수 역시 앱의 모든 페이지에서 접근할 수 있습니다. 페이지 간 공유와 앱 재로드 후 보존 여부를 구분하여 변수 유형을 고릅니다.