WEB/React
[React] 동적경로 - useParams, useSearchParams
스용공주
2025. 4. 19. 13:53
728x90
728x90
이번 글은 상황에 따라 경로가 변경되는 동적경로를 생성하는 내용이다.
[ 동적경로 ]
=> URL Parameter : 아이템의 id 같이 변경되지 않는 값을 주소로 명시하기 위해 사용
=> Query String : 검색어 등의 자주 변경되는 값을 주소로 명시하기 위해 사용
[ URL Parameter ]
아래 코드와 같이 /:id를 작성해주면 URL Parameter가 되어 diary의 뒤에 아이디가 오면 해당 페이지의 동적 경로로 판단됨
<Route path="/diary/:id" element={<Diary />} />
useParams를 통해 현재 브라우저에 명시한 URL 파라미터의 값을 가져올 수 있게 됨
import { useParams } from "react-router-dom";
useParams()을 통해 현재 들어온 id의 값을 변수에 저장하고 해당 변수의 id를 호출하면 아래 사진과 같은 결과를 얻을 수 있다.
const Diary=()=>{
const params= useParams();
return <div>{params.id}번 일기입니다</div>
}
[ QueryString ]
? 뒤에 변수명과 값을 명시해준다 (?value=hello)
useSearchParams를 임포트해준다.
import { useSearchParams } from "react-router-dom";
params은 QueryString의 값, setParams은 특정 QueryString을 수정할 함수가 들어있는 것
const [params, setParams]= useSearchParams();
import { useSearchParams } from "react-router-dom";
const Home=()=>{
const [params, setParams]= useSearchParams();
console.log(params.get("value"));
return <div>Home</div>
}
export default Home;
728x90
728x90