React Router ๋ฒ์ 6.4๋ถํฐ ์ง์ํ๋, ๋ผ์ฐํฐ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด๋ณด์.
๋ผ์ฐํ
์ ๋ณด๋ง ๋ณ๋์ ํ์ผ๋ก ๊ด๋ฆฌ, Outlet์์ ๋ถ๊ธฐ๋๋ค.
import { Outlet } from "react-router-dom";
function Layout() {
return (
<div>
<Header />
<Outlet />
<Footer />
</div>
);
}
const routes = [
{
element: <Layout />,
children: [
{ path: "/", element: <HomePage /> },
{ path: "/about", element: <AboutPage /> },
],
},
];
export default routes;
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import routes from "./routes";
const router = createBrowserRouter(routes);
root.render(
<React.StrictMode>
<RouterProvider router={router} />
</React.StrictMode>
);
describe("App", () => {
function renderRouter(path: string) {
const router = createMemoryRouter(routes, { initialEntries: [path] });
render(<RouterProvider router={router} />);
}
context('when the current path is " / "', () => {
it("renders the home page", () => {
renderRouter("/");
screen.getByText(/Welcome/);
});
});
context('when the current path is " /about "', () => {
it("renders the about page", () => {
renderRouter("/about");
screen.getByText(/This is Test/);
});
});
});