React Navigation의 reset은 현재의 네비게이션 상태를 완전히 새로운 상태로 교체하는 메서드.
기존의 모든 화면 이력을 지우고 새로운 네비게이션 상태를 설정할 수 있음.
로그인/로그아웃 처리
온보딩 완료
깊은 단계의 네비게이션에서 홈으로 이동
// 단일 화면으로 리셋
navigation.reset({
index: 0,
routes: [{ name: 'Home' }]
});
// 여러 화면으로 리셋
navigation.reset({
index: 1, // 현재 활성화될 화면의 인덱스
routes: [
{ name: 'Home' },
{ name: 'Profile' }
]
});
// 로그인 성공 시
const handleLoginSuccess = () => {
navigation.reset({
index: 0,
routes: [{ name: 'MainTab' }]
});
};
// 로그아웃 시
const handleLogout = () => {
navigation.reset({
index: 0,
routes: [{ name: 'Login' }]
});
};
reset은 전체 네비게이션 상태를 교체하는 무거운 작업.
일반적인 화면 전환에는 navigate를 사용하고 reset은 필요한 경우에만 사용.