next/router에 포함된 useRouter, 그 안에 페이지를 이동시키는 push 기능을 알아보자
우리는 홈페이지에 접속하게 되면 수많은 버튼을 클릭하여 원하는 페이지로 이동한다.
HTML이나 CSS로 버튼을 만들거나 활성화 시킬 수 있지만 이동하기는 어렵다.
이때 JS로 useRouter의 push 기능을 두가지 방법으로 사용할 수 있다.
1. 정적 라우팅
함수 실행시 push한 링크로 페이지를 이동시킬 수 있다.
const router = useRouter;
const onClickCreateMutation = () => {
router.push("http://localhost:3000/page/number/1")
onClickCreateMutation 함수가 적용된 버튼을 클릭시 위 페이지로 이동하며 빨간색은 생략이 가능하다.
정적라우팅의 단점은 링크를 수정하려면 매번 코드를 직접 수정해야한다는 단점이 있다.
2. 동적 라우팅
정적라우팅과 사용 방법은 동일하지만, 링크에 변수를 적용할 수 있다.
const router = useRouter;
const onClickCreateMutation = () => {
router.push(`http://localhost:3000/page/${router.query.파일명}`)
query는 useRouter의 변수는 router에 담긴 기능이며, 파일명은 []로 감싸서 사용할 수 있다.
파일명을 [ ] 로 감싸면 router.query에 해당 값이 자동으로 입력되며, 이 값은 변수로 나중에 다양하게 활용 가능하다.
(API 를 불러오는 number값이나 ID값의 variables로 활용 가능)

CreateProduct 할때와 UpdateProduct할때 서로 다른 링크로 이동시킬 수 있다.
'리액트' 카테고리의 다른 글
map, filter, every 활용 (0) | 2023.01.24 |
---|---|
TypeScript와 JavaScript (0) | 2023.01.19 |
React state 원리와 props (0) | 2023.01.18 |
폴더 구조 체계화 (0) | 2023.01.16 |
API rest, grapql vscode에서 사용하기 / 동기와 비동기( async/await) / 개발자 에러 해결 방법 (0) | 2023.01.13 |