Next.js: Perguntas de roteamento - padrões de parâmetros como: "/ profile /: id / edit" e banco de dados do servidor - como passar dados para reagir componentes?

Criado em 17 dez. 2016  ·  3Comentários  ·  Fonte: vercel/next.js

oi, sei que esse problema foi discutido antes, mas não consegui encontrar uma resposta clara para esse padrão.
Primeiro - corrija-me se eu estiver errado, se você não implementar um servidor personalizado (http ou express), o componente Link suporta apenas parâmetros de string de consulta como "/ profile? Id = 123 & action = edit" estou correto?
Para poder trabalhar com um padrão de parâmetros de url como "/ profile /: id", você precisa implementar um servidor personalizado ... isso foi o melhor que consegui adivinhar lendo os exemplos ...
Se sim - como você implementaria um padrão como "/ profile /: id / edit"
No exemplo de 'roteamento parametrizado', o index.js está usando links como este:
<Link href='/blog?ip=first' as='/blog/first'><a>My first blog post</a></Link>

e não consegui decifrar qual é o fluxo de trabalho necessário no server.js
server.js declara const match = route('/blog/:id')

e então não está claro o que exatamente vai para a barra de endereço e quais são os dados que estão sendo enviados para o componente de reação?
Como faço para lidar com rotas como "/ profile /: id / edit"
Como faço para lidar com muitas rotas de uma maneira genérica (vindo do roteador react, eu estava procurando o equivalente utilitário de correspondência ...)
Além disso, se eu tenho dados de banco de dados buscando antes da renderização - como posso passar os dados buscados para o componente react.
Tudo isso é um pouco obscuro e eu apreciaria seriamente sua ajuda, pois estava tentando adivinhar o meu caminho sem sucesso.

Obrigado
Entreaberta

Comentários muito úteis

Este é um conjunto de boas perguntas.
Nós vamos adicionar mais informações sobre os documentos.

Por enquanto, pense assim:

  • Next.js só sabe como servir páginas. Você deve passar por params. (Como: /blog?id=first )
  • Com o # 310, permitimos uma maneira de personalizar sua aparência para o mundo exterior. (Como: blog/:id Ver
  • E quando você está fazendo o roteamento do lado do cliente, o aplicativo do lado do cliente não sabe nada sobre URLs personalizados.
  • Então, você precisa usar o link como: <Link href='/blog?id=first' as='/blog/first' />

    • href: este é o url real da página

    • como: é como deve ser no navegador (normalmente, deve corresponder ao seu padrão de URL personalizado)

Todos 3 comentários

Este é um conjunto de boas perguntas.
Nós vamos adicionar mais informações sobre os documentos.

Por enquanto, pense assim:

  • Next.js só sabe como servir páginas. Você deve passar por params. (Como: /blog?id=first )
  • Com o # 310, permitimos uma maneira de personalizar sua aparência para o mundo exterior. (Como: blog/:id Ver
  • E quando você está fazendo o roteamento do lado do cliente, o aplicativo do lado do cliente não sabe nada sobre URLs personalizados.
  • Então, você precisa usar o link como: <Link href='/blog?id=first' as='/blog/first' />

    • href: este é o url real da página

    • como: é como deve ser no navegador (normalmente, deve corresponder ao seu padrão de URL personalizado)

Obrigado @arunoda !
Simples e claro.

Incrível. vou fechar este problema.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

renatorib picture renatorib  ·  3Comentários

kenji4569 picture kenji4569  ·  3Comentários

pie6k picture pie6k  ·  3Comentários

YarivGilad picture YarivGilad  ·  3Comentários

havefive picture havefive  ·  3Comentários