Я пытаюсь направить эти URL-адреса в файл [id].js в next.js, поэтому все работает для URL-адресов 2 и 3 ниже, но не работает для URL-адреса 1, поэтому мне нужно создать еще один файл index.js, который я не делаю. хотеть. Можно ли использовать тот же файл [id].js? для URL 1 также.
url 1 -> /settings
url 2 -> /settings/notifications
url 3 -> /settings/security
моя файловая структура
settings > [id].js
получение идентификатора
const router = useRouter()
const { id } = router.query;
Файловая структура, подобная приведенной ниже, является одним из способов сделать это:
settings
> [id]
> index
Но если вы не хотите добавлять индексный файл, вы можете использовать дополнительную функцию универсальные маршруты. Обратите внимание, что он поставляется с другими функциями, которые вам могут не понадобиться, и это также может немного изменить ваш код.
Это структура, которой вы должны будете следовать:
settings
>[[...id]]
{ } // GET `/post` (empty object)
{ "slug": ["notifications"] } // `GET /settings/notifications ` (single-element array)
{ "slug": ["notifications", "security"] } // `GET /settings/notifications/security ` (multi-element array)