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

broccoliindb님의 프로필 이미지
broccoliindb

작성한 질문수

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

swr 활용법(optimistic ui)

한번의 호출조차 아깝고 여러번의 호출이 두려운경우

해결된 질문

작성

·

171

0

안녕하세요. 항상 잘 듣고 있어요 감사합니다.

저는 강의중에 말씀하신 한번의 호출조차 아깝고 그 호출조차 제어하는게 좋다고 생각이 들어서 swr에 정의되어있는  mutate를 주로 사용할 거 같은데요. 

이런경우 저는 shouldrevalidate는 true로서 하고 thenable 안에 mutate를 사용해서 쓸 생각입니다.

이렇게 사용한다고 가정할 때

1. swr을 잘못사용해 발생할 무분별한 호출도 걱정안해도 되고 2. deduping Interval의 간격을 고민할 필요도 없고

3. 필요할 때만 호출을 제어할수 있다는 생각이 드는데,

너무 장점만 생각이 들어서요. 

물론 낙관적ui의 실패를 생각한다면 사용자를 속이는 행위가 될 수도 있지만 실패가 거의 발생하지 않는다고 가정한다면 특별히 다른 문제점이 생각이 들지 않는데, 혹시 주의할부분이 있을까요??

답변 2

1

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

shouldrevalidate가 true면 서버에 요청을 한 번 보내는것인데 false를 잘못 쓰신 것인가요?

0

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

아니요. 그래도 낙관적 ui의 실패를 생각해서 그 한번은 필요한 조치라고 생각이 들어서요~. 상단에 revalidate로 하지 않았기 때문에 의도치않은 호출은 따로 없을거라고 생각했거든요. 

제가 지금 일단 한번 대충 이해를 좀더 빨리 하고자 소스를 클론하며 따라하며 하기 전에 강의만 계속 보면서 개념만 잡는중이라 잘못된 개념을 잡았을 수도 있어서 제가 이해한 부분이 맞는지 문의드려봤어요~

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

mutate와 revalidate를 놓고 질문하신 것이 맞죠? 대부분의 경우는 mutate 쓰시면 됩니다. 로그인같이 서버로부터 데이터를 반드시 받아와야하는 것만 revalidate 하시고요

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

네 알겠습니다. 항상 잘 듣고 있습니다. 노드버드때도 많은 도움이 되었습니다. 건강항상조심하시구요. 더위조심하세요~😄😄

broccoliindb님의 프로필 이미지
broccoliindb

작성한 질문수

질문하기