Skip to content

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

@publdaze

Description

@publdaze

리팩토링 요약

  • 각 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로 하기

리팩토링 파트 분배

Metadata

Metadata

Labels

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions