Today Sangmin Learned
article thumbnail
[API통신] SWR - revalidate와 mutate의 차이점 (+optimistic, pessimistic UI)
Web 2021. 7. 6. 16:38

이전 포스팅에서 SWR을 사용할 때 revalidate를 사용하여 지속적으로 서버로 요청을 다시 보내서 데이터를 가져온다고 하였다. 이러한 revalidate는, 가만히 있어도 계속 보내고 있기 때문에, 그렇게 하고 싶지 않을 경우가 있을 것이다. 이럴 때 mutate를 대신해서 사용한다. axios.post의 then에서 revalidate() 대신에 mutate(response.data, false)를 넣어주면 된다. mutate의 인자 중 첫 번째는 mutate할 대상, 두 번째 인자는 shouldRevalidate 속성에 대한 값을 설정하는 것이다. 공란이라면 기본적으로 true 설정이 되어있으므로 정말 업데이트를 하지 않으려면 false로 해줘야 한다. const onSubmit = useCal..

article thumbnail
[API통신] withCredentials, SWR
Web 2021. 7. 5. 20:41

1. withCredentials: true? 나의 경우는, 3090이 프론트였고 3095가 백엔드 서버이다. 이전 글에서 포스팅했듯이, 다른 URL로 데이터를 보내는 것에 대한 CORS 문제는 서버 단에서 cors의 origin과 credentials: true 설정을 해줌으로써 해결할 수 있었다. 그렇지만 프론트엔드와 백엔드 서버의 URL이 다를 경우, 백엔드 파트에서 프론트엔드 파트로 쿠키를 생성해줄 수도, 프론트엔드 파트에서 백엔드 파트로 쿠키를 보내줄 수도 없다. 왜냐하면, 쿠키는 기본적으로 같은 origin 에서 HTTP 통신을 하는 경우에 자동으로 들어가는 형태를 띠기 때문이다. 따라서, 요청에 쿠키를 포함하고 싶을 경우 프론트 단에서 axios로 데이터 요청을 보낼 때와 서버에서 CORS ..