diff --git a/packages/next/client/components/layout-router.client.tsx b/packages/next/client/components/layout-router.client.tsx index 16f620292ef61..f79d188ef0b73 100644 --- a/packages/next/client/components/layout-router.client.tsx +++ b/packages/next/client/components/layout-router.client.tsx @@ -309,7 +309,7 @@ class RedirectErrorBoundary extends React.Component< } static getDerivedStateFromError(error: any) { - if (error.digest.startsWith('NEXT_REDIRECT')) { + if (error.digest?.startsWith('NEXT_REDIRECT')) { const url = error.digest.split(';')[1] return { redirect: url } } diff --git a/packages/next/export/worker.ts b/packages/next/export/worker.ts index de2c23a8b78b3..3f2d377743002 100644 --- a/packages/next/export/worker.ts +++ b/packages/next/export/worker.ts @@ -421,7 +421,7 @@ export default async function exportPage({ if ( err.digest !== DYNAMIC_ERROR_CODE && err.digest !== NOT_FOUND_ERROR_CODE && - !err.digest.startsWith(REDIRECT_ERROR_CODE) + !err.digest?.startsWith(REDIRECT_ERROR_CODE) ) { throw err } diff --git a/packages/next/server/app-render.tsx b/packages/next/server/app-render.tsx index 281ff87b2ae3a..dc79969c9684d 100644 --- a/packages/next/server/app-render.tsx +++ b/packages/next/server/app-render.tsx @@ -175,7 +175,7 @@ function createErrorHandler( // TODO-APP: Handle redirect throw err.digest !== DYNAMIC_ERROR_CODE && err.digest !== NOT_FOUND_ERROR_CODE && - !err.digest.startsWith(REDIRECT_ERROR_CODE) + !err.digest?.startsWith(REDIRECT_ERROR_CODE) ) { // Used for debugging error source // console.error(_source, err)