: 주소에 url을 입력했을때 서버에서 해당 url에 해당하는 데이터를 요청하고 받아오는 것

: url은 업데이트 되지만 상단의 Navbar나 Sidebar는 유지될 수 있고, url과 메인 body 부분만 업데이트 되는 것
fetch를 이용해 필요한 부분만 데이터를 받아와서 동적으로 데이터를 요청하는 것: React 애플리케이션에서 클라이언트 측 라우팅을 구현하는 데 사용되는 라이브러리.
그냥
a태그 사용해서 페이지 이동시켜주면 되지 않을까 ?
➡️a태그를 사용하게 되면 페이지 전체가 새로 로딩된다. (깜빡임 발생 -> 사용자의 UX를 떨어뜨리는 요인)
npm
npm install react-router-dom@lastest
만약 이미 다운로드 받은 상태라면, 내가 받은 라우터가 최신 버전인지 확인
"react-router-dom": "^6.22.1",
createBrowserRouter 방식을 권장하고 있기 때문에 createBrowserRouter를 사용하는 것이 좋다.createBrowserRouter를 import한다.

화면에서 URL 변경에 따라 다르게 보여주고 싶은 것들을 <Outlet/>을 사용하여 넣어준다.

Link 컴포넌트를 사용하지 않고 다른 페이지로 이동하고 싶은 경우
useNavigate를 통해 이동시킬 수 있다.
- 페이지 뒤로가기, 앞으로 가기 등에도 이용된다.
- 사용자가 이동하고 싶은 상품 번호를 입력하면 해당 url로 이동시켜주는 역할

/product/:productId 와 같이 경로에 : 를 사용하여 설정한다./product/:productId/:productName 과 같은 형태로 설정할 수있다.useParam를 사용하여 해당 URL에서 productId를 받아와 이를 활용하여 디테일 페이지를 보여줄 수 있다.
