첫 번째 router 를 만들어보자.
글로벌 레이아웃을 추가해보자.
기본적인 오류 처리 화면을 만들어 보자.
contact UI를 생성하고 새 route에 추가해보자.
Outlet 컴포넌트를 이용해서 중첩된 route를 구성해보자.
Link 컴포넌를 이용해 client side route를 구현해보자.
데이터를 받아오는 api인 loader와 useLoaderData를 알아보자.
React Router에서의 Form 동작과 기존의 HTML Form 동작의 차이점에 대해 알아보자.
서버에 POST 요청을 전송하는 대신 Client side routing을 사용해보자.
URL params의 사용법을 알아보자
데이터를 업데이트하기 위한 Form 페이지를 만들어보자.
이제 데이터를 업데이트하기 위해 route에 action을 달아보자.
폼 요청시 무슨 일이 일어나고 있는 지 조금 더 알아보자.
리다이렉트를 이용해보자
<NavLink>를 사용해보고 장점을 알아보자.
useNavigation 훅을 이용해서 로딩페이지를 구현하는 방법에 대해 알아보자.
데이터 삭제의 메커니즘을 알아보자.
이전에 만든 글로벌 에러페이지 대신에 contextual error 를 만들어 보자.
Index Routes에 대해 알아보자.
useNavigate를 이용한 뒤로가기 기능에 대해 알아보자.
URLSearchParams가 어떻게 만들어지는지 알아보자.
client side routing에서의 get submission을 통해 사이드 목록을 필터링해보자.
input의 value와 데이터를 동기화해보자.
자동으로 submit하는 방법에 대해 알아보자.
useNavegation 을 통해서 시간 지연에 대한 즉각적인 피드백을 제공해보자.
히스토리 스텍이 쌓이는걸 방지해보자.
fatcher를 사용해서 navigation 없이 데이터를 변경해보자.
Optimistic UI가 무엇인지 알아보고 적용해보자.
예상가능한 오류에 대한 오류페이지를 수정해보자.
자식 route에 동일한 오류 페이지를 보여주도록 하는 간편한 방법인 pathless routes에 대해 알아보자.
JSX로 Routes를 구성하는 방법에 대해 알아보자.