해당 절에서는 지금까지 다루지 않은 errorElement, loader, action, lazy 등의 속성에 대해 설명
errorElement 속성은 라우팅 시 예외가 발생했을 때 표시해야 할 콘텐츠(오류 컴포넌트)를 나타냄
해당 속성을 이해하기 위해 /book/:isbn
루트(BookPage 컴포너트)에서 루트 매개변수 :isbn
이 잘못된 형식일때의 예시로 알아보자
→ BookPage 컴포넌트 대신 InvalidParamsPage 컴포넌트를 표시
:isbn
매개변수의 값을 판단, 범위를 벗어난 값일 경우 RangeError 예외를 발생 시키보자
BookPage.jsx
import { useParams } from 'react-router-dom';
export default function BookPage() {
const { isbn = '979-1-1583-9517-9' } = useParams();
if (!/979-1[0-9]{2, 7}-[0-9]{2, 7}-[0-9X]/.test(isbn)) {
throw new RangeError('ISBN is invalid!!');
}
return (<p>ISBN 코드 {isbn}의 페이지입니다.</p>);
}
/book/:isbn
루트에 errorElement 속성을 추가
값은 element 속성과 마찬가지로 React 요소
routesParam.jsx