Advanced Features: Error Handling | Next.js
Development 환경에서의 Error Handling
Advanced Features: Custom Error Page | Next.js
_error 페이지 컴포넌트가 있음
function Error({ statusCode }) {
return (
<p>
{statusCode
? `An error ${statusCode} occurred on server`
: 'An error occurred on client'}
</p>
)
}
Error.getInitialProps = ({ res, err }) => {
const statusCode = res ? res.statusCode : err ? err.statusCode : 404
return { statusCode }
}
export default Error
Next/Error 컴포넌트가 존재한다.
import Error from 'next/error'
export async function getServerSideProps() {
const res = await fetch('<https://api.github.com/repos/vercel/next.js>')
const errorCode = res.ok ? false : res.status
const json = await res.json()
return {
props: { errorCode, stars: json.stargazers_count },
}
}
export default function Page({ errorCode, stars }) {
if (errorCode) {
return <Error statusCode={errorCode} />
}
return <div>Next stars: {stars}</div>
}
<aside> 💡 목적 : 에러가 난 컴포넌트를 에러 컴포넌트로 대체해서 보여주기 위함이다.
</aside>