Push vs Replace — 히스토리 남기지 말 것 #shorts #SAP #UI5
Moderator
navTo는 기본으로 히스토리를 쌓는다
UI5 라우팅에서 navTo()를 호출하면 기본적으로 브라우저 히스토리에 새 항목을 push합니다. 뒤로 가기 버튼을 누르면 이전 화면으로 돌아갈 수 있습니다.
// 기본값 — push 모드
this.getRouter().navTo("detail", { id: sId });
Replace 모드 — 히스토리에서 지운다
세 번째 인수에 true를 넘기면 현재 히스토리 항목을 교체(replace)합니다. 이 화면은 히스토리에 남지 않아 뒤로 가기로 돌아올 수 없습니다.
// bReplace: true — 현재 항목 교체
this.getRouter().navTo("list", {}, true);
Replace가 필요한 실무 케이스
로그인 완료 후 메인 화면으로 이동, 마법사 중간 단계 이탈, 동일 화면을 반복 탐색해 히스토리가 무한 누적되는 문제 방지 등에 Replace를 씁니다.
주의: manifest 라우트 이름 정확히
navTo의 첫 인수는 manifest.json의 routing.routes[].name과 일치해야 합니다. 오타가 있으면 에러 없이 조용히 실패합니다.
핵심 한 줄
돌아가면 안 되는 화면 이동엔 navTo("route", params, true) — 세 번째 true가 Replace다.