Replies: 1 comment 1 reply
-
우왕.. 쿼리 키와 관련해서 많은 고민을 하셨던게 느껴집니다!! 👍👍 만약 앱에서 존재하는 Query의 대다수가 활용하는 옵션이라면, QueryClient를 생성할 때 defaultOptions를 부여하는 방법도 좋겠네요!! QueryClient 예를 들어 기본 설정으로는 네트워크 요청에 실패하면 3번까지 재시도를 하게 되는데 저는 최대 1의 값도 충분하다고 생각한다면: import { QueryClient } from '@tanstack/react-query'
const queryClient = new QueryClient({
defaultOptions: {
queries: {
retry: 1
},
},
}) 요렇게 생성하면 원하는 속성의 기본 값을 지정해 줄 수 있는 것 처럼요!! |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
1. 전부 custom 하기
이런 방식으로 all 과 detail 이 있다는 가정 하에 .. UseQueryOptions 를 불러와서, 데이터 타입을 제네릭으로 넣어주는 식으로 하면 가능은 하더라구요 ..!
이렇게 직접 커스텀할 때, query-key-factory 라이브러리를 사용했을 때랑 비교하면 장단점이 있습니닷..
all
과id 값을 받는 detail
로 이루어져야 하고, 다른 방식의 요청이 있다면 새로 타입을 추가해서 부여해주어야 합니다!query-key-factory
에서는 쿼리키에 대한 규칙들을 지원한다고 하더라구요? 커스텀하면 이것도.. 직접 하거나 넘어가야 한다는 단점이 있어요.const queryKeys = mergeQueryKeys(comments, posts);
아니면 모든 객체를 합치기 보다는 도메인 별로 가져가는 것도 호출할 때의 depth 를 낮추어서 좋을 것 같기도 합니다
2. query-key-factory 사용 + 옵션만 커스텀
커스텀으로 완성할 수 없는 라이브러리의 장점들이 꽤 있어서,
라이브러리를 쓰면서 다른 옵션들을 한번에 관리하는 방법은 없을까에 대해 생각해 봤어요.
따라서 아래와 같이 가져가면 어떨까 합니다.
이런 식으로 query-key-factory 에서 관리하는 queryKey, queryFn 를 제외한 나머지 useQuery 옵션들을 따로 관리하는 방법입니다!
useQuery 를 사용할 때
useQuery({...todos.all, ...todosOptions.all})
이렇게 쓰면 어떨까 해요빨리 공유해야 다른 분들이 생각하시는 데에 더 도움이 될 것 같아서 일단 올립니다 !
Beta Was this translation helpful? Give feedback.
All reactions