Next.js: Вопросы по маршрутизации - шаблоны параметров, такие как: "/ profile /: id / edit" и server db - как передать данные для реагирующих компонентов?

Созданный на 17 дек. 2016  ·  3Комментарии  ·  Источник: vercel/next.js

привет, я знаю, что этот вопрос обсуждался раньше, но я не смог найти четкого ответа на этот шаблон.
Во-первых, поправьте меня, если я ошибаюсь, если вы не реализуете собственный сервер (http или express), компонент Link поддерживает только параметры строки запроса, такие как «/ profile? Id = 123 & action = edit», я прав?
Чтобы иметь возможность работать с шаблоном параметров URL, например "/ profile /: id", вам необходимо реализовать собственный сервер ... это лучшее, что я мог догадаться, просматривая примеры ...
Если да, то как бы вы реализовали такой шаблон, как "/ profile /: id / edit"
В примере с параметризованной маршрутизацией index.js использует такие ссылки:
<Link href='/blog?ip=first' as='/blog/first'><a>My first blog post</a></Link>

и я не смог понять, какой рабочий процесс нужен на server.js
server.js объявляет const match = route('/blog/:id')

и тогда неясно, что именно попадает в адресную строку и какие данные отправляются в компонент реакции?
Как обрабатывать такие маршруты, как "/ profile /: id / edit"
Как мне обрабатывать множество маршрутов обычным способом (исходящий от реактивного маршрутизатора, я искал эквивалент утилиты сопоставления ...)
Кроме того, если у меня есть выборка данных из базы данных перед рендерингом - как я могу передать полученные данные в компонент реакции.
Все это немного неясно, и я был бы серьезно признателен за вашу помощь, поскольку я безуспешно пытался угадать свой путь.

Спасибо
Приоткрытый

Самый полезный комментарий

Это набор хороших вопросов.
Мы добавим дополнительную информацию в документы.

А пока подумайте так:

  • Next.js умеет только обслуживать страницы. Вы должны передать через params. (Например: /blog?id=first )
  • С # 310 мы позволяем настраивать то, как он выглядит для внешнего мира. (Например: blog/:id См.
  • И когда вы выполняете маршрутизацию на стороне клиента, приложение на стороне клиента ничего не знает о настраиваемых URL-адресах.
  • Итак, вам нужно использовать ссылку как: <Link href='/blog?id=first' as='/blog/first' />

    • href: это фактический URL-адрес страницы

    • as: так он должен выглядеть в браузере (обычно он должен совпадать с вашим пользовательским шаблоном URL)

Все 3 Комментарий

Это набор хороших вопросов.
Мы добавим дополнительную информацию в документы.

А пока подумайте так:

  • Next.js умеет только обслуживать страницы. Вы должны передать через params. (Например: /blog?id=first )
  • С # 310 мы позволяем настраивать то, как он выглядит для внешнего мира. (Например: blog/:id См.
  • И когда вы выполняете маршрутизацию на стороне клиента, приложение на стороне клиента ничего не знает о настраиваемых URL-адресах.
  • Итак, вам нужно использовать ссылку как: <Link href='/blog?id=first' as='/blog/first' />

    • href: это фактический URL-адрес страницы

    • as: так он должен выглядеть в браузере (обычно он должен совпадать с вашим пользовательским шаблоном URL)

Спасибо @arunoda !
Просто и понятно.

Потрясающие. закрою этот вопрос.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги