Вложенная маршрутизация в следующем js - PullRequest
0 голосов
/ 27 мая 2020

Я просмотрел Stackoverflow, и общее мнение, кажется, добавляется к моему файлу сервера.

Хотя мне интересно, возможно ли это с маршрутизацией Next JS Dynami c.

Я пытаюсь найти маршрут, который выглядит примерно так:

/categories/:id/articles/:id

Я пробовал сделать что-то вроде этого

- pages
  - categories
    - [id]
      - :id.js
      - articles
        - :id.js

Безрезультатно, так что, возможно, это был не лучший подход. Смогу ли я добиться чего-то подобного, не касаясь сервера?

1 Ответ

2 голосов
/ 27 мая 2020

Да, это возможно. Вам необходимо создать такую ​​структуру в каталоге ваших страниц.

- pages
  - categories
    - [categoryId]
      - articles
        - [articleId].js

В [articleId].js у вас будет доступ к params.categoryId и params.articleId.

Если вы хотите показать страницу со списком статей для /categories/:categoryId/articles, вы можете добиться этого, создав файл index.js в папке articles. Точно так же, если вы хотите показать список categories, вы можете создать файл index.js в папке categories Например,

- pages
  - categories
    - index.js   // to show a list of categories
    - [categoryId]
      - articles
        - index.js // to show list of articles for a specific category
        - [articleId].js

Чтобы подвести итог

  • /categories отобразит компонент NextPage в pages/categories/index.js.
  • /categories/:categoryId/articles отобразит компонент NextPage в pages/categories/[categoryId]/articles/index.js
  • categories/:categoryId/articles/:articlesId отобразит компонент NextPage в pages/categories/[categoryId]/articles/[articleId].js
...