본문 바로가기
c.c

63. global state의 이해와 fetchpolicy

by jyamin 2023. 2. 22.
728x90

fetchPolicy

react-query apollo/client fetchPolicy 내장되어있음

미니 리덕스 = recoil

redux 망하면 안되는데! 해서 나온것이 redux-toolkit

cache-and-network = cache에서 한번 가져오고 그 다음 cache에 있든 없든 api는 한번 요청해. 그리고 2개를 비교해봐
cache-first = 기존꺼 있으면 가져오고 없으면 새걸로 받을래 = 디폴드 기본값
cache-only = cache에서만 가져와, 없으면 가져오지마
network-only = 새걸로 받고싶어, 매번 api요청해
no-cache = 아예 cache하지마

cache-first으로 했을 때, 아무것도 뜨지 않는다

network-only 하면?

처음에 한번 가져오고 저장을 했지만, 새로고침 하면 또 가져온다

 

규칙
cache-first 작동이 안될 때가 있다

contents가 없다가 있으면 cache-first를 가져온다

다시 같으면?

추가 요청 없이 데이터를 가져온다

페이지를 이동할 FETCH_BOARDS 가져오면 안된다 = 이미 가져왔기 때문에

들어가면 한번 가져오고, 페이지를 이동하면

api요청이 다시 되었다. 이미 전 페이지에서 받아왔는데?
= 페이지 전환을 하면 _app부분이 다시 리렌더 된다

뜻은 ApolloSetting에서도 다시 리렌더가 된다는

다시 페이지로 보면

한번 받아오고 페이지 이동을 하면

받아오지 않는다

_id 또는 id 있어야 저장이 된다

Recoil
yarn add recoil

RecoilRoot = 네모친 전체에 RecoilState 사용하겠다~

원래 이렇게 했었다

Recoil 주고 받고 하려면?

store = 저장
store 저장하여 쓴다

recoil에서 제공하는 atom 있다

props를 사용하지 않는다

useEffect 사용한다

같이 사용하고 있는 것

 

728x90

댓글