반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- set
- @Entity
- db
- @Controller
- Thymeleaf
- 데이터베이스
- GA4
- 구글
- SEO
- @Repository
- useContext
- useEffect
- getapiurl
- 인텔리제이
- GET
- servicedata
- JPA
- post
- ChatGPT
- 리액트오류
- router
- 워드프레스
- HttpSession
- 플러그인
- Polylang
- firebase
- @Query
- 구글알고리즘
- Login
- 구글애널리틱스
Archives
- Today
- Total
하루코딩 세싹이
[ReactJS] Router useNavigate, useLocation, URLSearchParams 본문
개발 준비/ReactJS&TypeScript
[ReactJS] Router useNavigate, useLocation, URLSearchParams
떼떼히 2025. 2. 4. 22:57728x90
반응형
리액트에서 페이지 간 이동과 URL 관리는 매우 중요하다. 페이지 이동을 처리하기 위해 react-router-dom 라이브러리를 사용하는데 이 라이브러리는 페이지간 이동을 간편하게 처리할 수 있도록 다양한 기능을 제공한다.
그중에서도 useNavigate, useLocation, URLSearchParams는 경로 이동, 현재 위치 정보 확인, 쿼리스트링 관리 등을 효과적으로 수행할 수 있도록 도와주는 필수적인 도구이다.
useNavigate
useNavigate는 페이지 이동(네비게이션)을 수행하는 Hook이다. react-router-dom에서 제공하며, 특정 경로로 이동하거나 뒤로 가기 등의 기능을 수행할 수 있다.
import { useNavigate } from "react-router-dom";
function Home() {
const navigate = useNavigate();
const goToAbout = () => {
navigate("/about"); // "/about" 페이지로 이동
};
return (
<div>
<h1>홈 페이지</h1>
<button onClick={goToAbout}>About 페이지로 이동</button>
</div>
);
}
export default Home;
// 뒤로가기, 앞으로가기 기능
const navigate = useNavigate();
const goBack = () => {
navigate(-1); // 뒤로 가기
};
const goForward = () => {
navigate(1); // 앞으로 가기
};
useLocation
useLocation은 현재 URL 정보를 가져오는 Hook이다. 현재 경로, 검색(query) 파라미터, 해시값 등을 확인할 때 사용한다.
import { useLocation } from "react-router-dom";
function LocationExample() {
const location = useLocation();
return (
<div>
<h2>현재 경로: {location.pathname}</h2>
<h3>쿼리 스트링: {location.search}</h3>
</div>
);
}
export default LocationExample;
/profile?id=123&name=John에서 실행하면 아래와 같이 나온다.
현재 경로: /profile
쿼리 스트링: ?id=123&name=John
URLSearchParams
URLSearchParams는 URL의 쿼리스트링(query parameters)을 쉽게 다룰 수 있는 내장 객체이다. useLocation().search를 활용해 URL 파라미터를 다룰 때 유용하다.
// 쿼리스트링에서 값 가져오기
import { useLocation } from "react-router-dom";
function QueryParamsExample() {
const location = useLocation();
const queryParams = new URLSearchParams(location.search);
const id = queryParams.get("id");
const name = queryParams.get("name");
return (
<div>
<h2>사용자 ID: {id}</h2>
<h2>이름: {name}</h2>
</div>
);
}
export default QueryParamsExample;
/profile?id=123&name=John에서 실행하면 다음과 같이 나온다.
사용자 ID: 123
이름: John
반응형
'개발 준비 > ReactJS&TypeScript' 카테고리의 다른 글
[ReactJS] 리액트 오류, Immer only supports setting array indices and the 'length' property (0) | 2025.02.04 |
---|---|
[ReactJS] React Router Dom 설치 및 사용하기 (0) | 2025.02.04 |
[ReactJs] 리액트 오류, 중복 key 사용 (0) | 2025.02.04 |
[ReactJS] 리액트 프로젝트 firebase 호스팅에 배포하기 (0) | 2025.02.03 |
[ReactJS] Axios 이해하기, 사용하기 (0) | 2025.02.03 |