FrameWork/React
React Router
mansoorrr
2024. 8. 9. 17:44
사용자가 요청한 링크주소(URL)에 맞는 페이지를 찾아서 보여주는 것
[설치]
npm i react-router-dom
[사용]
- 라우팅 경로별 보일 페이지를 정한다.
- createBrowserRouter를 활용해 라우팅 경로를 관리한다.
- 라우팅 경로 1개당 1개의 dictionary로 관리
- RouterProvider를 사용해 라우팅 경로를 등록
//----- router.tsx
import { createBrowserRouter } from "react-router-dom";
import Root from "./components/Root";
/*
path에 url경로를 적고 element에 경로별 화면을 입력한다.
children에 자식경로를 입력하여 가지치기하며 routing을 관리
createBrowserRouter([
{
path: "/",
element: <Root />,
errorElement <NotFound />,
children: [
{
path:"",
element: <Home />,
},
{
path: "rooms/:room_pk",
element: <RoomDetail />
}
]
}
])
*/
// 라우터 선언
const router = createBrowserRouter([
{
path: "",
element: <Root />
}
])
export default router;
//-----index.tsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import { ChakraProvider } from '@chakra-ui/react';
import { RouterProvider } from 'react-router-dom';
import router from './router';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
root.render(
<React.StrictMode>
<ChakraProvider>
<RouterProvider router={router} /> //RouterProvider로 router감싸기
</ChakraProvider>
</React.StrictMode>
);