РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnxSpIlUn 66 of 69 menu
◀ ▶

Неизвестный язык в NextJS

Сегмент [lang] принимает любую строку: пользователь может набрать /de или /xx, хотя словарь поддерживает только часть кодов. Обращение к dictionaries[lang] тогда даст пустой результат или ошибку.

Заранее зададим список допустимых кодов. Если lang не входит в этот список, вызовем функцию notFound из next/navigation - NextJS ответит статусом «страница не найдена». Давайте проверим язык в начале страницы:

import { notFound } from 'next/navigation'; import { dictionaries } from '../../dictionaries'; let locales = ['en', 'ru']; export default async function HomePage({ params }) { let { lang } = await params; if (!locales.includes(lang)) { return notFound(); } let dict = dictionaries[lang]; return <h1>{dict.title}</h1>; }

Ограничьте список языков двумя кодами и подключите проверку на главной и на странице about.

Откройте адрес с вымышленным кодом языка и убедитесь, что показывается стандартная страница «не найдено».

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить