error.js 파일 규칙을 사용하면 중첩된 라우트에서 예기치 않은 런타임 오류를 우아하게 처리할 수 있습니다.
에러 UI를 만들려면 라우트 세그먼트 내에 error.js 파일을 추가하고 React 컴포넌트를 내보냅니다:
'use client' // Error components must be Client Components
import { useEffect } from 'react'
export default function Error({
error,
reset,
}: {
error: Error & { digest?: string }
reset: () => void
}) {
useEffect(() => {
// Log the error to an error reporting service
console.error(error)
}, [error])
return (
<div>
<h2>Something went wrong!</h2>
<button
onClick={
// Attempt to recover by trying to re-render the segment
() => reset()
}
>
Try again
</button>
</div>
)
}
[코드] app/dashboard/error.tsx
error.js
Works오류의 원인은 때로는 일시적일 수 있습니다. 이러한 경우에는 단순히 다시 시도하면 문제가 해결될 수 있습니다.
오류 컴포넌트는 reset() 함수를 사용하여 사용자에게 오류에서 복구를 시도하도록 요청할 수 있습니다. 함수를 실행하면 Error 바운더리의 내용을 다시 렌더링하려고 시도합니다. 성공하면 대체 오류 컴포넌트가 다시 렌더링 결과로 대체됩니다.