React · Router State

라우트 파라미터와 쿼리로 데이터 요청 만들기

라우트 파라미터는 어떤 리소스를 볼지 정하고, 쿼리 문자열은 같은 리소스 목록을 어떤 조건으로 볼지 정한다.

01

식별자 추출

useParams로 postId, teamId 같은 필수 값을 읽고 유효성을 확인한다.

02

옵션 파싱

useSearchParams로 page, sort, filter를 읽어 기본값과 허용값을 적용한다.

03

요청 키 구성

파라미터와 쿼리를 API 요청 또는 query key의 일부로 넣는다.

04

주소 갱신

필터 변경은 내부 state뿐 아니라 공유 가능한 URL로 반영한다.

:id
리소스 정체성 상세 화면이 성립하려면 반드시 필요한 값
없는 리소스는 404
page
목록 위치 새로고침 후에도 같은 페이지를 유지
숫자 변환과 범위 확인
sort
정렬 기준 허용된 값만 서버 요청에 사용
임의 문자열 차단
filter
검색 조건 공유와 뒤로가기에 남길 조건
입력 중 draft와 분리 가능

타입 · 기본값 · 히스토리 점검

타입 URL에서 온 값을 숫자·boolean으로 명시 변환한다.
기본값 query가 없어도 안정적인 화면이 열린다.
히스토리 검색 입력마다 뒤로가기 스택이 과도하게 쌓이지 않는다.
요청 최신성 URL 변경 후 이전 응답이 새 화면을 덮지 않는다.