인프런 커뮤니티 질문&답변
login 성공시 화면 이동
작성
·
569
0
안녕하세요
login 성공 시 화면이동하는 부분에 useSWR 사용하는 것 관련 문의드립니다
const { data } = useSWR(
'http://localhost:3095/api/users',
fetcher
)
if (data) {
navigate('/workspace');
}
강의 코드는 위처럼 로그인 요청시 전송된 data를 useSWR로 다시 가져와서 아래처럼 data가 있으면 workspace로 이동하도록 했는데
useSWR을 쓰지않고 아래처럼 axios내부에서 로그인 성공시 바로 페이지 전환하도록 해도 상관없는지 궁금합니다.
axios
.then((res) => {
....
navigate('/workspace');
})
그리고 로그인 혹은 로그아웃 시
mutate나 revalidate를 꼭 호출해야하는건지도 궁금합니다. 호출 없이 workspace로 이동했을때도 저장된 user값을 useSWR로 불러올 수 있는것 같아서요!
답변 1
0
제로초(조현영)
지식공유자
상관 없습니다. 거기서 navigate 하셔도 되고요. 다만 제가 if (data) navigate 한 이유는 혹시나 로그인한 사람이 로그인 페이지에 들어왔을 때 바로 다른 페이지로 보내려고 한 겁니다.
mutate나 revalidate(사라짐)를 바로 호출하는 게 좀 더 반응이 빠릅니다. 안 그러면 swr이 알아서 판단하는 타이밍에 다시 불러오는데 그 때가 언젠지 알기 힘들거든요.




