Studyyyyy
[React] Router v6: useNavigate() 파라미터 전달&취득 방법 - useLocation()출처: https://curryyou.tistory.com/477 [카레유:티스토리] 본문
[React] Router v6: useNavigate() 파라미터 전달&취득 방법 - useLocation()출처: https://curryyou.tistory.com/477 [카레유:티스토리]
manyYun 2022. 9. 8. 00:22https://curryyou.tistory.com/477
[React] Router v6: useNavigate() 파라미터 전달&취득 방법 - useLocation()
# useNavigate() 파라미터 전달, useLocation() 파라미터 수신 방법 react-router-dom v6 에서 1. useNavigate() 로 페이지를 이동하면서 파라미터를 전달하는 방법 2. useLocation() 으로 파라미터를 취득하는 방..
curryyou.tistory.com
# useNavigate() 파라미터 전달, useLocation() 파라미터 수신 방법
react-router-dom v6 에서
1. useNavigate() 로 페이지를 이동하면서 파라미터를 전달하는 방법
2. useLocation() 으로 파라미터를 취득하는 방법
을 정리한다.
1. 페이지 이동시, 파라미터 전달 방법
1) useNavigate() 훅으로 navigate 함수를 취득한다.
2) navigate() 함수의 첫번째 인자에 이동할 경로, 두번째 인자의 state 속성에 파라미터를 넣어준다.
- navigate( '/이동경로', { state: { 키: 값, 키: 값, ... } } )
아래 예제코드는, 버튼을 클릭하면 '/test' 경로로 이동하면서 id, job을 인자로 넘긴다.
import { useNavigate } from 'react-router-dom';
export default function Test() {
const navigate = useNavigate();
// 버튼 클릭시 호출
const move = () => {
// 두번재 인자의 state 속성에 원하는 파라미터를 넣어준다. (id, job을 넣어봤다)
navigate('/test2', {
state: {
id: 1,
job: '개발자'
}
});
};
return (
<div>
<button onClick={move}>이동</button>
</div>
);
}
2. 이동한 페이지에서, 파라미터 취득 방법
1) useLocation() 훅으로 location을 취득한다.
2) locaiton.state 로 전달 받은 파라미터를 취득할 수 있다.
- location.state.키
아래 예제코드는 전달 받은 id와 job을 취득하여 화면에 표시한다.
import { useLocation } from 'react-router-dom';
export default function Test2() {
// 1. useLocation 훅 취득
const location = useLocation();
// 2. location.state 에서 파라미터 취득
const id = location.state.id;
const job = location.state.job;
return (
<div>
<p>id: {id}</p>
<p>job: {job}</p>
</div>
);
}
* 타입스크립트의 경우, state의 타입이 unknown이므로 아래와 같이 타입을 지정해주면 된다.
import { useLocation } from 'react-router-dom';
export default function Test2() {
// 1. useLocation 훅 취득
const location = useLocation();
// 2. location.state 에서 파라미터 취득 - 타입을 지정해줌.
const state = location.state as { id: string; job: string };
const id = state.id;
const job = state.job;
return (
<div>
<p>id: {id}</p>
<p>job: {job}</p>
</div>
);
}
GET 방식 접속 시, 경로에서 쿼리 파라미터 취득 방법은 아래 글 참고
[React] useLocation 으로 쿼리 파라미터 취득 방법(URLSearchParams 활용)
출처: https://curryyou.tistory.com/477 [카레유:티스토리]
'React' 카테고리의 다른 글
리액트에서 자동완성 적용하기(VScode) (0) | 2024.08.19 |
---|---|
리액트 특징 (0) | 2024.08.19 |
하위 컴포넌트에서 상위 컴포넌트로 state보내기 (0) | 2022.09.01 |
리액트 체크박스 개별, 전체선택/해제 구현 (0) | 2022.07.14 |
jsx 파일에서 ESLint 각종 오류 해결 방법 (0) | 2022.07.05 |