# 리액트: 쿼리 파라미터 취득 방법 by useLocation
GET 방식으로 http://경로?키=값 형태로 접속시, 쿼리 스트링 취득하는 방법은 아래와 같다.
1. useLocation() 으로 search 취득
- search 속성에 "?키=값&키=값" 이 저장되어 있다.
- {pathname: '/query', search: '?id=10&count=2022', hash: '', state: null, key: 'default'}
2. URLSearchParams 객체 생성
- search 속성의 값을 URLSearchParams 객체로 생성한다.
- new URLSearchParams(useLocation().search)
3. URLSearchParams객체.get("키") 로 쿼리 취득
- 키에 해당하는 값만 반환한다.
만약 http://경로?id=10&count=2022 로 접속한 경우, 아래 코드처럼 쿼리를 취득할 수 있다.
import React from 'react';
import { useLocation } from 'react-router-dom';
// http://localhost:3000/query?id=10&count=2022 로 접속 상황
function Query() {
// useLocation() 호출
const location = useLocation();
console.log(location);
// {pathname: '/query', search: '?id=10&count=2022', hash: '', state: null, key: 'default'}
// search 부분을 URLSearchParams 객체로 생성
const searchParams = new URLSearchParams(location.search);
// const searchParams = new URLSearchParams(useLocation().search); // 이것도 가능
// 쿼리 취득
const id = searchParams.get('id'); // id 취득
const count = searchParams.get('count'); // count 취득
console.log('id: ', id); // id: 10
console.log('count: ', count); // count: 2022
return <div>Query</div>;
}
export default Query;
페이지 이동 시, 컴포넌트 간에 파라미터를 전달/취득하는 방법은 아래 글 참고
[React] Router v6: useNavigate() 파라미터 전달&취득 방법 - useLocation()
'개발(Development) > React(리액트)' 카테고리의 다른 글
[Next.js] pages 라우팅 파일명, 컴포넌트 이름 작성 방법 (0) | 2022.08.21 |
---|---|
[React] 모달창(Modal) 초간단 구현 방법(리덕스, 라이브러리 X) (0) | 2022.08.16 |
[Next.js] getServerSideProps 에서 undefined 반환 이유 (0) | 2022.08.16 |
[React] JSX 특수 문자/기호 입력 방법(꺽쇠, 괄호, 슬래시 등) (0) | 2022.08.15 |
[Next.js] Link 라우팅 : 현재경로 active CSS 스타일링 (0) | 2022.08.14 |
댓글