본문 바로가기
React/개념

useLocation

by hihijh826 2025. 3. 31.
728x90
반응형
SMALL

useLocation 훅은 React Router에서 제공하는 훅으로, 현재의 위치(location) 객체를 가져오는 데 사용

이 객체는 URL, 쿼리 파라미터 및 상태와 같은 정보가 포함되어 있음

주로 라우팅과 관련된 정보에 접근하고, 특정 URL에 따라 컴포넌트를 조건부로 렌더링하거나 동작을 수행하는 데 유용

1. useLocation의 기본 사용법

1.1. 임포트

먼저, useLocation 훅을 사용할 컴포넌트에서 임포트

import { useLocation } from 'react-router-dom';

1.2. 사용 예시

import React from 'react';
import { useLocation } from 'react-router-dom';

const LocationDisplay = () => {
    const location = useLocation(); // 현재 위치 객체를 가져오기

    return (
        <div>
            <h2>현재 URL 경로: {location.pathname}</h2>
            <p>쿼리 문자열: {location.search}</p>
            <p>상태: {JSON.stringify(location.state)}</p>
        </div>
    );
};

export default LocationDisplay;

 

2. location 객체의 속성

useLocation 훅을 통해 얻은 location 객체는 다음과 같은 주요 속성을 포함

  • pathname: 현재 URL의 경로를 나타내는 문자열. 예: /about, /products/123 등.
  • search: 쿼리 문자열을 포함하는 문자열. URL의 ? 이후의 부분 . 예: ?id=1&name=John과 같은 형식.
  • hash: URL의 해시 부분을 나타내는 문자열. 보통 페이지 내 특정 섹션으로의 링크에 사용됨. 예: #section1.
  • state: 라우팅에 의해 전달된 상태 객체. Link 컴포넌트의 state 속성을 통해 전달된 데이터가 포함됨.

 

3. 활용 예시

  • 조건부 렌더링: 현재 URL에 따라 특정 컴포넌트나 요소를 조건부로 렌더링할 수 있음
if (location.pathname === '/home') {
    return <HomeComponent />;
} else {
    return <OtherComponent />;
}

  • 쿼리 파라미터 처리: URL의 쿼리 문자열을 분석하여 필요한 데이터를 가져오거나 필터링할 수 있음
const query = new URLSearchParams(location.search);
const id = query.get('id'); // ?id=1에서 id=1을 가져옴

 

 

 

 

useParams / useLocation/ URLSearchParams 차이

목적 URL의 동적 파라미터를 가져옴 현재 위치 객체를 가져옴 URL 쿼리 문자열을 쉽게 처리함
반환값 동적 파라미터 객체 위치 객체 (pathname, search, hash 포함) 쿼리 문자열을 조작할 수 있는 객체
사용법 const { paramName } = useParams(); const location = useLocation(); const query = new URLSearchParams(location.search);
주요 속성 - 동적 파라미터 이름과 값 - pathname: 현재 경로<br>- search: 쿼리 문자열<br>- hash: 해시<br>- state: 상태 정보 - get(name): 특정 파라미터 값 가져오기<br>- has(name): 특정 파라미터 존재 여부 확인<br>- set(name, value): 파라미터 값 설정
예시 const { id } = useParams(); const pathname = location.pathname; const id = query.get('id');
주로 사용되는 상황 특정 리소스의 ID나 이름 등 URL에서 값을 추출할 때 현재 URL 정보 확인 및 조건부 렌더링할 때 URL 쿼리 파라미터를 읽거나 수정할 때
  • useParams: URL 경로에서 동적 파라미터를 추출하는 데 사용
  • useLocation: 현재 URL의 전체 정보 가져오는 데 사용
  • URLSearchParams: URL의 쿼리 문자열을 쉽게 파싱하고 조작할 수 있도록 해주는 API
728x90
반응형
LIST

'React > 개념' 카테고리의 다른 글

로그인(JWT, 전체 개념)  (0) 2025.04.11
GET,POST,PUT,DELETE  (0) 2025.04.03
replace : true  (0) 2025.03.31
props로 함수 전달하기/자식에서 사용하기  (0) 2025.03.28
state통해 데이터 전달  (0) 2025.03.24