2. Routes
라우터란?
React Router
Browser Router
Route
Memory Router
강의 정리
React Router
import { Routes, Route } from 'react-router-dom';
function App() {
return (
<div>
<Header />
<main>
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/about" element={<AboutPage />} />
</Routes>
</main>
<Footer />
</div>
);
}
BrowserRouter를 잡아줘야 한다. 테스트를 하기 위해 main.tsx에서 잡아준다.
import { BrowserRouter } from 'react-router-dom';
root.render(
<BrowserRouter>
<App />
</BrowserRouter>,
);
테스트 코드에서 라우터를 테스트하려면 메모리 라우터를 사용한다. 라우터의 초기 위치를 잡아주기 위해 MemoryRouter의 initialEntries props를 활용한다.
describe('App', () => {
function renderApp(path: string) {
render(
<MemoryRouter initialEntries={[path]}>
<App />
</MemoryRouter>,
);
}
context('when the current path is “/”', () => {
it('renders the home page', () => {
renderApp('/');
screen.getByText(/Hello/);
});
});
context('when the current path is “/about”', () => {
it('renders the about page', () => {
renderApp('/about');
screen.getByText(/About/);
});
});
});
Last updated