문제
약국을 선택했을 때, url에 id=1 이 추가되는데 이것이 잠깐 생겼다 사라지고, 약국 자세히보기로 다른페이지로 이동했다 뒤돌아 왔을 때 url이 유지되지 않는 문제
// 검색어 변경될 때마다 searchParams 업뎃
useEffect(() => {
const params = {};
// 검색한 키워드를 파라미터에 추가
if (keyword) {
params.keyword = keyword;
}
// 검색한 타입을 파라미터에 추가
if (searchType === 'region') {
params.filter = 'region';
} else {
params.filter = 'name';
}
setSearchParams(params);
}, [keyword, searchType, setSearchParams]);
해결
useEffect함수를 잘못 사용해서 그런 것으로, 해당 코드를 모두 삭제하고 다시 작성해 해결했다.
검색 타입은 버튼에 onClick이벤트로 searchParams를 이용해 filter를 해당 type으로 변경해주도록 수정하고, 이 searchType을 상태로 관리해 초기값을 searchParms에서 가져오도록 작성했다.
// 검색 타입 url에 저장
const handleSearchTypeChange = (type) => {
setSearchType(type); // 버튼 클릭 시 검색 타입 변경
searchParams.set('filter', type); // URL에 filter 파라미터를 추가/업데이트
setSearchParams(searchParams); // 업데이트된 파라미터를 URL에 반영
};
문제 약국을 선택했을 때, url에 id=1 이 추가되는데 이것이 잠깐 생겼다 사라지고, 약국 자세히보기로 다른페이지로 이동했다 뒤돌아 왔을 때 url이 유지되지 않는 문제
해결 useEffect함수를 잘못 사용해서 그런 것으로, 해당 코드를 모두 삭제하고 다시 작성해 해결했다. 검색 타입은 버튼에 onClick이벤트로 searchParams를 이용해 filter를 해당 type으로 변경해주도록 수정하고, 이 searchType을 상태로 관리해 초기값을 searchParms에서 가져오도록 작성했다.