[라우팅] 로그인 상태에 따른 리다이렉트 처리 (React Native / Expo Router 기준)

헤이안나·2025년 5월 20일
0

🔐

앱에서 특정 화면은 로그인한 사용자만 볼 수 있게 제한해야 할 때가 많습니다.
이럴 때 사용하는 게 바로 리다이렉트(redirect) 입니다.


✅ 리다이렉트 개념

사용자가 특정 경로에 접근했을 때, 조건에 따라 다른 경로로 자동 이동시키는 것

예:

  • /home에 접근했는데 로그인이 안 돼 있으면 → /login으로 자동 이동
  • 로그인돼 있으면 → /home 정상 진입

🧠 왜 필요할까?

  • 로그인 안 된 사용자 보호
  • UX 흐름을 깔끔하게 유지
  • 실무에서 거의 모든 앱에 들어가는 핵심 로직

🚀 React Native (expo-router)에서의 기본 흐름

if (!isLoggedIn) {
  return <Redirect href="/login" />;
}
  • 상태 관리(ex. Zustand, SecureStore 등)로 로그인 여부 판단
  • 조건에 맞춰 <Redirect />로 경로 이동 처리

✨ 팁

  • useAuth() 같은 커스텀 훅으로 로그인 여부 판단 로직을 분리하면 더 깔끔해짐
  • 여러 페이지에 적용할 땐 <AuthGuard><Slot /></AuthGuard> 형태도 자주 씀

📝 정리

  • 로그인 리다이렉트는 보안과 UX를 동시에 잡는 필수 처리
  • 복잡한 기능보다, 조건 + 자동 이동이라는 흐름만 이해하면 됨
profile
리액트 공부하는 사람

0개의 댓글