Next.jsのWordPress exampleでRangeError: Invalid time valueというエラーの対処法
※本ページはプロモーションが含まれていますNext.jsのWordPress exampleを実行したところ、「RangeError: Invalid time value」エラーが出ました。
Server Error RangeError: Invalid time value
WordPressのテストデータを使っていると、パスワード保護された投稿があり、その投稿の取得が出来ず、日付の処理にnullが渡されているのが原因。
components/date.tsxを下記のようにすればOK。
import { parseISO, format } from "date-fns";
export default function Date({ dateString }) {
const date = parseISO(dateString);
if (Number.isNaN(date.getTime())) {
return <>error</>;
}
return <time dateTime={dateString}>{format(date, "LLLL d, yyyy")}</time>;
}
「Number.isNaN(date.getTime())」部分で日付が正しいかチェックし、該当した場合はエラー表示する。