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

hs님의 프로필 이미지
hs

작성한 질문수

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

swr 활용법(optimistic ui)

optimistic, pessimistic ui 질문드립니다.

작성

·

245

0

mutate(data, true); 에서 true면 pessimistic ui 이고 false면 optimistic ui 인가요? shouldRevalidate가 true, false 어떤것이든 mutate 하는 순간 그 data를 적용하기 위해서 해당 컴포넌트를 리렌더링하는게 맞나요? 그렇다면 여기서 pessimistic ui는 아닌 것 같아서 질문드립니다. 마지막에는 캐시에 저장된거하고 서버에서 받아온거 이렇게 차이라고 하셨는데 갑자기.. 이 얘기가 나와서 헷갈리네요.

답변 1

0

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

네 mutate 하는 순간 바로 리렌더링 됩니다.

pessimistic ui를 하려면

axios.get().then(() => mutate());

하시면 되고

optimistic ui를 하려면

mutate(data, false);
axios.get().then(() => mutate()) 하시면 됩니다.

hs님의 프로필 이미지
hs
질문자

답변 감사드립니다. 근데 다른 페이지 갔다가 오면 다시 요청 보내는데  true, false 의 차이가 큰가요? optimistic 일 때 어떤걸 쓰던 크게 차이가 안날 것 같아서 질문드립니다.

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

다른 페이지를 갔다오면 당연히 다시 보내는 게 맞아서 논외이고요.

optimistic ui에서 shouldRevalidate가 true면 쓸데없이 서버에 요청을 보내니까 리소스 낭비입니다.

hs님의 프로필 이미지
hs

작성한 질문수

질문하기