[React] react-router-dom v6로 업데이트 후 달라진 내용은?

Juhee Kang·2022년 5월 21일
0

프론트엔드

목록 보기
4/8
post-thumbnail

우연히 SPA와 라우팅을 공부하던 중 분명히 강의 내용대로 따라했는데 위와 같이 SwitchRedirectreact-router-dom 에서 불러올 수 없다는 오류를 발견했습니다.
관련 내용을 찾아보니 react-router-dom이 업데이트 되면서 네이밍이 변경되는 등의 달라진 점들이 있었고 이를 인지하지 못해 오류가 생겼음을 알게 되었습니다.
→ 따라서 위의 오류를 해결하면서 새로 알게 된 내용들을 정리해보았습니다.

🔹 Switch → Routes

  • Switch → Routes로 네이밍 변경
    : 기존의 route들을 구성하는 부모 요소를 switch 라는 네이밍을 사용하였는데 routes 라는 좀 더 직관적인 이름으로 변경되었습니다.

  • exact 옵션 삭제
    : 이전에는 exact 옵션으로 복수의 라우팅을 막았었지만, 업데이트 후 더 이상 사용하지 않습니다. 그 대신 하위경로에 여러 라우팅을 매칭시키고 싶을 경우 URL 뒤에 * 을 사용하면 됩니다.

  • <Route />에서 컴포넌트 렌더링 방법 변경

// 이전
<Switch>
	<Route exact path="/">
    	<HomePage />
    </Route>
</Switch>

// 이후
<Routes>
	<Route path="/*" element={<HomePage />} />
</Routes>

🔹 useHistory → useNavigate

: useHistory 훅에 대한 네이밍이 useNavigate 로 변경되었습니다.

// 이전
const history = useHistory();
history.push(`/detail?email=${email}&password=${password}`)

// 이후
const navigate = useNavigate();
navigate(`/detail?email=${email}&password=${password}`);

🔸 글을 마치며...

프론트엔드 개발자가 되기 위해서는 빠르게 변화하는 리액트 기술에 대비하여 지속적인 공부가 필요함을 다시 한 번 느끼게 되었습니다.

profile
Steadiness

0개의 댓글