일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바스크립트
- State
- 코딩일기
- react-three/fiber
- REACT
- 수학
- poiemaweb
- JavaScript
- 기본 문법
- 해시를 사용한 집합과 맵
- HTML5
- 시뮬레이션
- 토이 프로젝트
- 오블완
- 엔트리포인트
- 브루트포스
- 자료 구조
- 세그먼트 트리
- 프론트엔드
- three.js
- 티스토리챌린지
- 자바
- 구현
- 회고
- 모던 자바스크립트 튜토리얼
- 개발 회고
- 백준
- styled-components
- Next.js
- js
Archives
- Today
- Total
코딩하는 고릴라
[React] navigate, nested route, outlet 본문
반응형
navigate
- 페이지 이동 기능 구현을 위해 사용
- Link 태그를 대신해 사용 가능
import { useNavigate } from 'react-router-dom'
function App(){
let navigate = useNavigate()
<button onClick={() => { navigate('/detail') }}>이동버튼</button>
}
- useNavigate 임포트
- useNavigate() 이용해 선언
- navigate( ‘경로’ ) 와 같이 사용
- navigate(-1) : 뒤로 가기
<Route path =”*” element={ Component } />
- 위와 같이 라우터 경로를 지정하면, 따로 지정이 안된 모든 경로에 대해 위 라우터에 지정된 컴포넌트를 출력 → 404 에러 페이지 등에 사용
nested routes, outlet
- 경로 내 경로의 요청에 대해 컴포넌트를 출력하기 위해 사용
- /about/company, /about/employee 등
- 반드시 Outlet을 같이 사용해줘야 화면에 출력시킬 수 있음
<Route path="/about" element ={ <About/> } >
<Route path="company" element ={ <회사소개 /> } />
<Route path="employee" element ={ <직원소개 /> } />
</Route>
- /about 경로 요청에 대해서 About 컴포넌트 출력
- /about/company 경로 요청에 대해서 회사소개 컴포넌트 출력
- /about/employee 경로 요청에 대해서 직원소개 컴포넌트 출력
import { Outlet } from 'react-router-dom'
function About(){
return (
<div>
<h4>about 페이지</h4>
<Outlet/> // About 컴포넌트 내 Outlet을 지정해주면, nested routes들이 해당 위치에서 출력
</div>
)
}
- nested routes의 사용을 위해 해당 컴포넌트 내에 Outlet을 지정해주어야 한다.
반응형
'React' 카테고리의 다른 글
[React] styled-components (1) | 2023.11.28 |
---|---|
[React] URL parameter (1) | 2023.11.27 |
[React] 라우터_셋팅, 기본 라우팅 (0) | 2023.11.27 |
[React] export, import (0) | 2023.11.26 |
[React] Input으로 state 변경 (0) | 2023.11.07 |