From b27bb0e978dcef45ab95ed33aa412bd699a24853 Mon Sep 17 00:00:00 2001 From: jam-jang Date: Fri, 22 Aug 2025 07:24:19 +0900 Subject: [PATCH] =?UTF-8?q?ExplorePage=EC=9D=98=20selectedCategory=20?= =?UTF-8?q?=EC=B4=88=EA=B8=B0=EA=B0=92=EC=9D=84=20URL=20=EC=BF=BC=EB=A6=AC?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EB=B0=94=EB=A1=9C=20=EC=84=B8=ED=8C=85?= =?UTF-8?q?=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Explore-Page/explore-page.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/pages/Explore-Page/explore-page.tsx b/src/pages/Explore-Page/explore-page.tsx index 2082bb3..b6a87b7 100644 --- a/src/pages/Explore-Page/explore-page.tsx +++ b/src/pages/Explore-Page/explore-page.tsx @@ -52,7 +52,10 @@ export default function ExplorePage() { const [searchParams] = useSearchParams(); const { setHideNav } = useNav(); - const [selectedCategory, setSelectedCategory] = useState('전체'); + //초기값을 URL 쿼리에서 즉시 가져오도록 수정 + const initialCategory = searchParams.get('category') ?? '전체'; + const [selectedCategory, setSelectedCategory] = useState(initialCategory); + const [showDeptModal, setShowDeptModal] = useState(false); const [showYearModal, setShowYearModal] = useState(false); @@ -72,11 +75,13 @@ export default function ExplorePage() { const { ref, inView } = useInView({ threshold: 0 }); - // 쿼리 파라미터로 선택 카테고리 초기화 + // 쿼리 변화 시에만 상태 동기화 초기 렌더 레이스 방지함 useEffect(() => { - const param = searchParams.get('category'); - setSelectedCategory(param ?? '전체'); - }, [searchParams]); + const param = searchParams.get('category') ?? '전체'; + if (param !== selectedCategory) { + setSelectedCategory(param); + } + }, [searchParams, selectedCategory]); // 단대 목록 useEffect(() => { @@ -158,7 +163,7 @@ export default function ExplorePage() { setProfiles([]); loadPage(0, false); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [buildParams]); + }, [buildParams]); // 감지되면 다음 페이지 로드 useEffect(() => { @@ -192,6 +197,7 @@ export default function ExplorePage() {