KEEPER31337 / KEEPER31337/Homepage-Front-R2
리액트 쿼리 키 포맷 통일하기
- Dominant language
- TypeScript
- Stars
- 9
- Forks
- 4
- Avg merge
- 13h 16m
- Merged PRs (30d)
- 11
Description
### 리팩토링 요약
- 각 api 파일 상단에 객체 상수 형식으로 키 지정
- 각 키에 queryfn에서 사용하는 변수 포함되어 있는 지 확인하고 없으면 포함시키기
- path parameter 먼저 각각의 변수로 리스트 원소에 넣고, 이후 querystring은 params라는 변수로 객체 형식으로 묶어서 넘겨주기
- ex.
```ts
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`로 하기
### 리팩토링 파트 분배
- [x] #863
- [x] #864
- [x] #865
- [x] #866
- [x] #867
- [x] #868
- [x] #869
- [ ] #873
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.