-
react-router-dom 6 version프로그래밍/TIL 2021. 11. 28. 11:14
- <Route> 사용 시 <Switch> 가 아닌 <Routes> 로 감싼다
- component={Home} 이라고 쓰던 방식에서 element={<Home />} 로 컴포넌트를 직접 JSX 태그로 바꿔서 넣는다
- 복수의 라우팅을 막는 exact option 도 없어졌다
- 여러 라우팅을 매치하고 싶은 경우 * 을 사용한다
- /:id 부분은?
// react-router-dom version 5.xx <BrowserRouter> <Switch> <Route exact path='/' component={Home}></Route> <Route path='/member' component={Member}></Route> <Route path='/movie/:id' component={MovieDetail}></Route> </Switch> </BrowserRouter>
// react-router-dom version 6.xx <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/:id" element={<Detail />} /> <Route path="/*" element={<NotFound />} /> </Routes> </BrowserRouter>
- useHistory 대신 useNavigate, navigate() 를 사용한다. history.push, history.replace 모두 navigate 로 대체한다
let history = useHistory(); history.push('/home'); history.replace('/home');
let navigate = useNavigate(); navigate('/home'); navigate('/home', { replace: true })
- state 를 넘겨줄 때도 navigate 를 사용하여 넘긴다
navigate(to, { state })
공식문서 읽어봐야 도움이 될 거 다
https://reactrouter.com/docs/en/v6/upgrading/v5
React Router | Upgrading from v5
Declarative routing for React apps at any scale
reactrouter.com
읽어보기
https://devalice.tistory.com/112
[React-Router] v6로 적용하기
리액트의 단짝친구 리액트 라우터가 v6 버전이 나왔다..! 새로운 프로젝트에 들어가면서 리액트 라우터 v6 버전을 쓰게 되었는데 사용하면서 간단하게 달라진 점들을 정리해보고자 한다! v5에서 v
devalice.tistory.com
참고
더보기'프로그래밍 > TIL' 카테고리의 다른 글
windows.scrollY 의 쓰임 (0) 2022.04.27 JS !! 논리연산자 (0) 2022.04.27 vscode 설정 (0) 2022.04.27 Windows Local Https 환경 설정 (0) 2022.04.27