웹 (WEB)/공부

React-query :: Query Invalidation

희은w 2021. 7. 10. 12:37

query가 오래 되었다는 것을 판단하고 다시 fetch해올 때, queryClient.invalidateQueries 함수를 사용한다.

https://react-query.tanstack.com/guides/query-invalidation

 

Query Invalidation

Query Invalidation Waiting for queries to become stale before they are fetched again doesn't always work, especially when you know for a fact that a query's data is out of date because of something the user has done. For that purpose, the QueryClient has a

react-query.tanstack.com

 

invalidateQueries

invalidateQueries에 의해 invalidate(무효화)되면

  1. useQuery가 사용하는 staleTime이라는 속성이 변경된다.
  2. rendering도 다시 한다.

 

Query filter

string으로 invalidateQueries에 매개변수를 넘겨주면 해당 string을 포함하는 array를 가진 모든 query가 invalidate된다.

이 때, {exact: true} 옵션을 주면 정확히 해당 string만을 포함하는 query만 invalidate된다.

함수에 매개변수로 predicate 속성 함수를 넘겨주게 되면 해당 함수는 cache 내의 query들을 매개변수로 받아서 invalidate 할 지 말지를 boolean으로 return 하게 한다.

반응형