redirect が catch に拾われていたので、catch の先頭に1行足しました。ログインしていない人が開くと、どうなりますか。
app/page.tsx
Serverで実行
import { redirect, unstable_rethrow } from 'next/navigation' Serverで実行
async function getUser() {Serverで実行
return nullServerで実行
} Serverで実行
export default async function Page() {Serverで実行
try {Serverで実行
const user = await getUser()Serverで実行
if (!user) redirect('/login')Serverで実行
return <p>ようこそ</p>Serverで実行
} catch (e) {Serverで実行
unstable_rethrow(e)Serverで実行
return <p>読み込みに失敗しました: {String(e)}</p>Serverで実行
}Serverで実行
}出典nextjs.org/docs/app/api-reference/functions/unstable_rethrownextjs.org/docs/app/api-reference/functions/redirect