인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Joy Lee님의 프로필 이미지
Joy Lee

작성한 질문수

Slack 클론 코딩[실시간 채팅 with React]

swr 활용법(optimistic ui)

login 성공시 화면 이동

작성

·

543

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이 알아서 판단하는 타이밍에 다시 불러오는데 그 때가 언젠지 알기 힘들거든요.

Joy Lee님의 프로필 이미지
Joy Lee

작성한 질문수

질문하기