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

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

nu님의 프로필 이미지
nu

작성한 질문수

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

workspace 새로고침

작성

·

194

0

workspace 코드를 보면

const { data: userData, revalidate, mutate } = useSWR<IUser | false>('/api/users', fetcher);

if (!userData) {

    return <Redirect to="/login" />;

}

이 코드를 통해 workspace에서 userData가 없을 때 로그인 페이지로 이동하도록 만들었는데

workspace에서 새로고침을 했을 때 다시 userData를 가져오는 동안 아래의 if문이 실행되어 로그인이 되어있음에도 로그인 페이지로 이동하는 경우는 생기지는 않을까요?

비동기 데이터를 가져오는게 완료되고 if문이 실행된다는 순서가 보장이 되는 이유가 궁금합니다.

제가 다른 프로젝트에 이 방법을 응용했을 때 위와 같은 문제가 생겨 여쭈어 봅니다.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 그래서 나중에 if (userData === false)로 바꿉니다. undefined일 때 로딩 중일 수도 있어서요.

nu님의 프로필 이미지
nu

작성한 질문수

질문하기