yuna-c / outsourcing

0 stars 0 forks source link

issue : 페이지 이동시 url 유지 #46

Open play93 opened 8 hours ago

play93 commented 8 hours ago

문제 약국을 선택했을 때, 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에 반영
  };
onClick={() => handleSearchTypeChange('region') //지역명
onClick={() => handleSearchTypeChange('name')//약국명
const [searchType, setSearchType] = useState(searchParams.get('filter') || 'name'); // 검색 타입
yuna-c commented 2 hours ago

—>‘#’ 누르고 pr에서 마지된것 첨부 부탁드립니다!!