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

이상욱님의 프로필 이미지

작성한 질문수

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

라우터 주소 설계(라우트 파라미터)

Login에서 mutate 대신 revalidate를 써야 하네요.

21.04.15 11:59 작성

·

270

2

저번에 mutate를 이용해서 서버에서 가져오는 데이터를 바로 data에 집어 넣는 식으로 했었는데, 그걸 유지했더니 리다이렉트 할때 에러가 나는 군요.

.then((response) => {
   mutate(response.data)
})

리다이렉트를 할 때 워크스페이스 페이지가 열림과 동시에 user를 가져와야 에러가 안 생기는데, mutate를 쓰면 워크스페이스 페이지가 열릴 때 서버에 요청을 안보내네요...

그래서 실습 코드 뒤져보다가 revalidate를 쓴 걸 보고 revalidate를 쓰도록 코드를 수정했더니 workspace 들어가자마자 user 요청을 보내네요.

아직 알쏭달쏭 합니다. swr은 로컬 스토리지를 쓸때 디버깅을 하기가 어려운 것 같아요.

답변 2

0

NOAH님의 프로필 이미지

2021. 05. 21. 05:35

이게 그 mutate 데이터 유지시 workspace 데이터를 가지고 오지 않고 유지하여 map쪽에서 한 번 에러가나고 새로고침시 에러가 없어지는 현상인가요? 저도 발생하고 있네요. 

추후 없어지지 않을까하여 일단 계속 진행중에 있습니다.

0

이상욱님의 프로필 이미지
이상욱
질문자

2021. 04. 15. 12:03

devtool의 필요성을 느끼지는 않으시나요? 네트워크 탭만으로는 작동이 헷갈리네요. ㅠㅠ

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

2021. 04. 15. 14:48

데브툴이 필요하시다면 swr 대신 react-query를 쓰시는 게 좋습니다. react-query는 devtool을 지원합니다.