Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

리액트 쿼리 키 포맷 통일하기 #862

Open
7 of 8 tasks
publdaze opened this issue Dec 22, 2023 · 0 comments
Open
7 of 8 tasks

리액트 쿼리 키 포맷 통일하기 #862

publdaze opened this issue Dec 22, 2023 · 0 comments
Assignees
Labels
Refactor 리팩토링

Comments

@publdaze
Copy link
Contributor

publdaze commented Dec 22, 2023

리팩토링 요약

  • 각 api 파일 상단에 객체 상수 형식으로 키 지정

  • 각 키에 queryfn에서 사용하는 변수 포함되어 있는 지 확인하고 없으면 포함시키기

  • path parameter 먼저 각각의 변수로 리스트 원소에 넣고, 이후 querystring은 params라는 변수로 객체 형식으로 묶어서 넘겨주기

    • ex.
      const meritKeys = {
        membersMerit: (test: string, params: PageAndSize) => ['membersMerit', test, params] as const,
      };
  • as const 각 프로퍼티 마다 붙여주기

  • key를 사용하는 부분(ex. setQueryData)에서도 상수 가져와서 사용하도록 수정하기

  • 외부에서 해당 쿼리키 사용 해야하는 부분이 있다면, 그 쿼리키만 export 하는 걸로!

  • params 어차피 fetcher랑 key부분에 둘다 넣으니까 따로 변수로 빼자!

  • 기본 도메인 이름 base로 두기

    • 도메인 이름이 애매할 경우 값 다른 명칭으로 변경 가능
    • ex.
      const seminarKeys = {
          base: ['seminars'],
          attendances: [...base, 'attendances'],
          available: [...base, 'available'],
        recentlyDone: [...base, 'recentlyDone'] as const,
        recentlyUpcoming: [...base, 'recentlyUpcoming'] as const,
        attendanceList: (params: { page?: number, size: ~~ }) => [...attendances, params] as const,
          byId: (id: number) => [...base, id] as const,
          byDate: (params:{date:string}) => [...base, params] as const,
      };
    
  • 리스트로 받아오는 경우 네이밍 subfix List로 하기

리팩토링 파트 분배

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Refactor 리팩토링
Projects
Status: In Progress
Development

No branches or pull requests

3 participants