Written by Jieun
Home
  • 전체 (129)
    • Git (1)
    • React, Next (57)
    • HTML & CSS (2)
    • JavaScript, TypeScript (24)
    • Node.js (11)
    • MongoDB (4)
    • AWS (2)
    • 코딩테스트, 알고리즘 (17)
    • etc (8)
    • 일상 (1)
블로그 내 검색

Written by Jieun

👩🏻‍💻 내 마음대로 Today I Learned

  • React, Next

    [React] useNavigation()과 useLocation()로 페이지 간 값 전달하기

    2023. 5. 30.

    by. 지은이: 김지은

    728x90

    useLocation과 useNavigation은 React Router에서 제공하는 훅으로 라우팅 관련 기능을 사용할 때 유용하다.

     

    1. useNavigation

    const navigate = useNavigate();
    
    const handleSearch = () => {
        navigate("/hotels", { state: { destination, date, options } });
    };

    useNavigation은 페이지를 이동하면서 값을 전달하고 URL경로를 변경하는데 사용한다.

    navigate 첫번째 인자로 이동할 경로, 두번째 인자로 state객체를 전달한다.

     

    handleSearch() 함수가 호출되어 /hotels 경로에 들어갈 때 state 객체를 포함해서 /hotels 페이지에 전달할 수 있다.

     

    2. useLocation

    const location = useLocation();
    
    const [destination, setDestination] = useState(location.state.destination);
    const [date, setDate] = useState(location.state.date);
    const [options, setOptions] = useState(location.state.options);

    이동된 페이지에서useLocation 훅을 사용하여 location을 콘솔에 찍어보면 hash, pathname,search, state같은 location 객체 속성 정보가 나오는걸 확인할 수 있으며, 여기서 state객체 값을 가져올 수 있다.

     

     

    참고로 navigate함수를 Link 컴포넌트로 대체할 수 있다.

    <Link to={{
          pathname: '/hotels',
          state: { destination, date, options }
    }}>

    마찬가지로 다음페이지에서 location으로 pathname URL 경로부분과 state 객체를 가져올 수 있다.

     

     

     

    저작자표시 (새창열림)

    'React, Next' 카테고리의 다른 글

    [React] 리액트로 OpenWeatherMap API 사용하기  (0) 2023.06.18
    [React] Context API와 useReducer로 상태관리하기  (0) 2023.05.31
    [React] 커스텀 훅(Custom Hooks) 만들기  (0) 2023.05.28
    [React] onKeyDown, onKeyUp 한글 입력 처리 문제  (0) 2023.05.23
    [Redux] Redux란?  (0) 2023.05.18

    댓글

    관련글

    • [React] 리액트로 OpenWeatherMap API 사용하기 2023.06.18
    • [React] Context API와 useReducer로 상태관리하기 2023.05.31
    • [React] 커스텀 훅(Custom Hooks) 만들기 2023.05.28
    • [React] onKeyDown, onKeyUp 한글 입력 처리 문제 2023.05.23
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
지은이: 김지은

티스토리툴바