Next.js: Questions de routage - modèles de paramètres tels que : "/profile/:id/edit" et base de données du serveur -comment transmettre les données pour réagir aux composants ?

Créé le 17 déc. 2016  ·  3Commentaires  ·  Source: vercel/next.js

salut, je sais que ce problème a déjà été discuté mais je n'ai pas pu trouver de réponse claire à ce modèle.
Tout d'abord, corrigez-moi si je me trompe, si vous n'implémentez pas de serveur personnalisé (http ou express), le composant Link ne prend en charge que les paramètres de chaîne de requête tels que "/profile?id=123&action=edit" ai-je raison ?
Pour pouvoir travailler avec un modèle de paramètres d'URL comme "/profile/:id", vous devez implémenter un serveur personnalisé... c'était le mieux que j'ai pu deviner en parcourant les exemples...
Si oui, comment implémenterez-vous un modèle comme "/profile/:id/edit"
Dans l'exemple de 'routage paramétré', index.js utilise des liens comme celui-ci :
<Link href='/blog?ip=first' as='/blog/first'><a>My first blog post</a></Link>

et je n'ai pas pu déchiffrer quel est le workflow nécessaire sur server.js
server.js déclare const match = route('/blog/:id')

et puis on ne sait pas exactement ce qui va à la barre d'adresse, et quelles sont les données qui sont poussées vers le composant de réaction ?
Comment gérer les routes comme "/profile/:id/edit"
Comment gérer de nombreuses routes de manière générique (en provenance de react-router, je cherchais l'équivalent de l'utilitaire de correspondance ...)
De plus, si j'ai récupéré les données de la base de données avant le rendu, comment puis-je transmettre les données récupérées au composant React.
Tout cela est un peu obscur et j'apprécierais sérieusement votre aide car j'essayais de deviner mon chemin sans succès.

Merci
Entrouvert

Commentaire le plus utile

C'est une série de bonnes questions.
Nous allons ajouter plus d'informations sur les docs.

Pour l'instant, pensez comme ceci :

  • Next.js ne sait que servir les pages. Vous devriez passer par params. (Comme : /blog?id=first )
  • Avec #310, nous offrons un moyen de personnaliser son apparence vis-à-vis du monde extérieur. (Comme : blog/:id Voir
  • Et lorsque vous effectuez un routage côté client, l'application côté client ne sait rien des URL personnalisées.
  • Donc, vous devez utiliser Link comme : <Link href='/blog?id=first' as='/blog/first' />

    • href : c'est l'url réelle de la page

    • as : voici à quoi cela devrait ressembler dans le navigateur (généralement, cela devrait correspondre à votre modèle d'URL personnalisé)

Tous les 3 commentaires

C'est une série de bonnes questions.
Nous allons ajouter plus d'informations sur les docs.

Pour l'instant, pensez comme ceci :

  • Next.js ne sait que servir les pages. Vous devriez passer par params. (Comme : /blog?id=first )
  • Avec #310, nous offrons un moyen de personnaliser son apparence vis-à-vis du monde extérieur. (Comme : blog/:id Voir
  • Et lorsque vous effectuez un routage côté client, l'application côté client ne sait rien des URL personnalisées.
  • Donc, vous devez utiliser Link comme : <Link href='/blog?id=first' as='/blog/first' />

    • href : c'est l'url réelle de la page

    • as : voici à quoi cela devrait ressembler dans le navigateur (généralement, cela devrait correspondre à votre modèle d'URL personnalisé)

Merci @arunoda !
Simple & clair.

Impressionnant. va clore ce sujet.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

YarivGilad picture YarivGilad  ·  3Commentaires

rauchg picture rauchg  ·  3Commentaires

timneutkens picture timneutkens  ·  3Commentaires

swrdfish picture swrdfish  ·  3Commentaires

formula349 picture formula349  ·  3Commentaires