1. 참조 사이트
2. 설치
npm install react-router-dom
3. App.js 수정
이게 SPA, 경로별 다른 결과
4. 컴포넌트 작성 ( Home.js )
5. 컴포넌트 간 연결 ( 링크 )
- 이전 방식은 <a href=" "> 사용했으나
React에서는 <Link to=" "> 사용함
a태그, Link태그 차이는
a태그는 새로고침이 된다
a태그
- 전체페이지가 새롭게 랜더링되기 때문에 네트워크 동작이 발생
Link 태그
- 내부적으로 화면을 랜더링하기 때문에 네트워크 동작이 발생 안됨
==> 크롬개발자 도구 Network 항목에서 확인 가능
6. 메뉴 역할의 컴포넌트 작성
https://reactrouter.com/en/main/start/tutorial#nested-routes
7. 예외처리 ( 404 )
8. menu의 링크 활성화
- 현재는 <Link to=" ">로 사용되어 사용자가 어떤 링크를 선택했는지 모름
- <NavLink>로 사용하면 className 속성에 자동으로 상태를 제공함.
이 상태값으로 css 적용할 수 있음
9. useNavigate
Link와 useNavigate 차이
Link는 path로 정해준 경로 하나만 접근할 수 있고
useNavigate는 함수안에 조건을 달아서 상황에 따라 다른 곳으로 접근이 가능하다
10. 동적 라우팅 ( 파라미터 전달 방법 )
가. pathVariable 방식
- url에 포함되어 파라미터 전달
ex> /users/2
{ path: "/users/:id ", }
useParams( ) 이용
나. queryString 방식
- url에 포함되지 않고 ?key=value 형식이용
ex> /users?id=2
{ path: "/users " }
useSearchParams() 이용
'React' 카테고리의 다른 글
라우팅 심화 (0) | 2024.07.05 |
---|---|
SpringBoot 실행실습 (0) | 2024.07.04 |
추가하기 ( input으로 입력 받은 데이터 추가하기 ) (0) | 2024.07.03 |
삭제 (0) | 2024.07.03 |
예외처리 (1) | 2024.07.03 |