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
No fields configured for issues without a type.

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions