Skip to content

[Refactor] - 핀포인트 home 화면 리펙토링 및 핀포인트 설정시 재조회 로직 리펙토링 #369

@kyungchan3007

Description

@kyungchan3007

📌 코드 리펙토링 내용

  • hoem 화면 리펙토링 및 핀포인트 설정시 재조회 로직 리펙토링
  • useListingDetailHooks.ts에서 useListingFilterDetail의 queryKey가 ["pinpoint"] → ["pinpointSettings"]로 변경됨.
    • useAddPinpoint.ts에서 useQueryClient 추가, onSuccess에서 invalidateQueries(["pinpointSettings"]) 호출 추가.
    • hooks.tsx에서 usePinhouseRouter가 URLSearchParams 인자를 받도록 변경, mode 계산과 closeSheet 호출 추가.
    • homeFullSheet.tsx에서 mode 계산을 훅으로 이동하고 replaceRouter/handleSetPinpoint 전달 구조 변경.
    • pinpointSelectedButton.tsx에 replaceRouter prop 추가, "저장하기" 버튼 클릭 핸들러 연결.
    • pinpointRowBoxs.tsx에서 isLoading 미사용으로 제거.
    • homeHeader.tsx에서 라우팅 로직을 새 훅으로 분리.
    • homeQuickStatsList.tsx에서 로직을 새 훅으로 분리.
    • 신규 파일: homeUseHooks.ts (홈 퀵스탯 로직 훅).
    • 신규 파일: homeHeaderHooks.ts (홈 헤더 라우팅 훅).

✅ 리펙토링 결과

📍 레퍼런스

리팩토링 결과
• 핀포인트 조회 키를 통일해서 추가 후 갱신이 정상 동작하도록 했음.
• 핀포인트 추가 훅에 캐시 무효화를 넣어 리스트 갱신 흐름을 명확히 했음.
• 홈 시트 상태/라우팅 로직을 훅으로 분리해 UI 컴포넌트를 단순화했음.
• 버튼 컴포넌트에 저장 액션을 주입해 역할 분리를 강화했음.
• 홈 헤더/퀵스탯의 라우팅·상태 로직을 전용 훅으로 분리해 재사용성과 테스트 용이성을 높였음.
• 불필요한 상태 사용 제거로 렌더 경로를 정리했음.

Metadata

Metadata

Assignees

Labels

Refactor코드 리팩토링 관련

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions