• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

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

21.04.15 11:59 작성 조회수 210

2

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

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

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

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

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

답변 2

·

답변을 작성해보세요.

0

NOAH님의 프로필

NOAH

2021.05.21

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

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

0

이상욱님의 프로필

이상욱

질문자

2021.04.15

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

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