하얀 코딩

[React - 17] useLocation 본문

React

[React - 17] useLocation

whitecoding 2023. 8. 30. 23:42

React Router 라이브러리에서 제공하는 훅(hook) 중 하나로, 현재 페이지의 정보를 가져오는 데 사용됩니다.

이를 통해 현재 경로와 쿼리 파라미터 등의 정보를 쉽게 액세스할 수 있습니다.

 

총 5개의 키값을 가지고 있습니다.

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

const MyComponent = () => {
    const location = useLocation();

    return (
        <div>
            <h1>Current Location</h1>
            <p>Pathname: {location.pathname}</p>
            <p>Search: {location.search}</p>
            <p>Hash: {location.hash}</p>
            <p>Hash: {location.state}</p>
            <p>Hash: {location.key}</p>
        </div>
    );
};

1. pathname: 현재 URL의 경로 부분을 나타냅니다. 경로는 호스트 이름과 포트 번호 이후, 쿼리 파라미터와 해시 부분을 제외한 부분을 의미합니다. 예를 들어, 만약 현재 URL이 http://example.com/products?category=electronics#top라면 'pathname'은 /products가 될 것입니다.

2. search: 현재 URL에서 쿼리 파라미터를 나타냅니다. 쿼리 파라미터는 ?로 시작하여 key=value 형식으로 전달되며, 여러 개의 쿼리 파라미터는 &로 구분됩니다. 예를 들어, 위의 예시 URL에서 'search'는 ?category=electronics가 될 것입니다.

3. hash: 현재 URL에서 해시 부분을 나타냅니다. 해시 부분은 #로 시작하며, 주로 페이지 내에서 특정 섹션이나 위치를 가리킬 때 사용됩니다. 예를 들어, 위의 예시 URL에서 'hash'는 #top이 될 것입니다.

4. state: 이 프로퍼티는 라우팅된 컴포넌트로 전달되는 상태 객체를 나타냅니다.

이전 경로에서 새로운 경로로 이동할 때 상태를 함께 전달하고 싶을 때 사용될 수 있습니다.

예를 들어, 다른 컴포넌트로부터 전달받은 데이터를 포함할 수 있습니다.


5. key: 이 프로퍼티는 라우팅된 위치의 고유한 식별자를 나타냅니다. React Router는 각각의 라우트 변경에 대해 고유한 키를 생성하여 라우팅된 컴포넌트의 인스턴스를 추적합니다.

 

 

'React' 카테고리의 다른 글

[React - 19] React Query - useQuery  (0) 2023.09.03
[React - 18] Link  (0) 2023.08.30
[React - 16] createBrowserRouter  (0) 2023.08.24
[React - 15] BrowserRouter / Routes / Route  (0) 2023.08.24
[React - 14] useMatch  (0) 2023.08.24