Skip to content

fix: [TA-264] 필터 변경이 뒤로가기 히스토리에 쌓여 목록 이탈이 어려움 - #136

Merged
seorinn merged 2 commits into
developfrom
TA-264-filter-replace-history
Jun 29, 2026
Merged

seorinn merged 2 commits into
developfrom
TA-264-filter-replace-history

Conversation

@seorinn

@seorinn seorinn commented Jun 29, 2026 •

Copy link
Copy Markdown
Collaborator

변경 사항

  • FilterBar의 URL 동기화를 setSearchParams(params, { replace: true })로 변경 → 필터 변경이 히스토리에 쌓이지 않음
  • 마운트 시 URL 쿼리를 filters로 복원(lazy init) → 공유 링크/새로고침/뒤로가기 복귀 시 적용돼 있던 필터 유지
  • 배열 필터(regions/photographyTypes)는 콤마 split로 배열 복원하여 직렬화와 round-trip
  • 직전에 반영한 쿼리와 동일하면 setSearchParams 호출을 건너뛰어 결과값이 바뀌지 않는 조작에서 불필요한 재조회 방지
  • Props 타입을 SetURLSearchParams로 정정(replace 옵션 허용)

배경

필터/정렬 변경이 기본 push로 호출돼 히스토리가 쌓이면서, 여러 번 필터를 바꾼 뒤 뒤로가기를 누르면 이전 화면으로 못 나가고 필터 이력을 되감았음. 필터는 '화면 내 상태'이므로 replace가 자연스러움. 추가로 같은 값 재선택 시 중복 로딩/재조회가 발생하던 점도 함께 정리.

적용 범위

FilterBar 단일 지점 → 이벤트목록/작가목록/검색(작가·이벤트) 4개 화면 전부 반영

테스트

  • FilterBar/index.test.tsx 신규(4): 기존 URL 필터 마운트 시 비덮어쓰기 / 변경 시 replace+값 반영 / 같은 정렬 재선택 시 재조회 미발생(dedup) / 배열 필터 round-trip
  • 전체 40 suites / 170 tests 통과, tsc 통과

리뷰

Opus 코드리뷰 3라운드: C1(마운트 덮어쓰기)·C-A(배열 역직렬화) 해소 확인, 머지 가능 판정. 잔여 백로그(콤마 포함 명칭 시 split 취약, 칩 activation/selectedLocs URL 미복원)는 별도 스코프.

Closes TA-264

@vercel

vercel Bot commented Jun 29, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
damaba Ready Ready Preview, Comment Jun 29, 2026 8:09am

- 마운트 시 URL 쿼리를 filters로 lazy 복원해 공유/새로고침/뒤로가기 시 필터 유지
- 배열 필터(regions/photographyTypes)는 split로 배열 round-trip
- 직전 쿼리와 동일하면 setSearchParams 스킵해 불필요한 재조회 방지
@seorinn
seorinn marked this pull request as ready for review June 29, 2026 08:10
@seorinn
seorinn merged commit 78c3a74 into develop Jun 29, 2026
3 checks passed
@seorinn
seorinn deleted the TA-264-filter-replace-history branch June 29, 2026 08:10
seorinn added a commit that referenced this pull request Sep 20, 2026
* fix: [TA-264] 필터 변경을 replace로 처리해 뒤로가기 히스토리 누적 방지

* fix: [TA-264] URL→filters 복원 및 동일쿼리 재조회 방지(replace)

- 마운트 시 URL 쿼리를 filters로 lazy 복원해 공유/새로고침/뒤로가기 시 필터 유지
- 배열 필터(regions/photographyTypes)는 split로 배열 round-trip
- 직전 쿼리와 동일하면 setSearchParams 스킵해 불필요한 재조회 방지

This branch was successfully deployed

1 active deployment
Preview — 57edc2bb Deployed Jun 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant