Next.js: Routing-Fragen - Parametermuster wie: "/profile/:id/edit" und Server-DB -Wie werden Daten an reagierende Komponenten übergeben?

Erstellt am 17. Dez. 2016  ·  3Kommentare  ·  Quelle: vercel/next.js

Hallo, ich weiß, dass dieses Problem bereits besprochen wurde, aber ich konnte keine klare Antwort auf dieses Muster finden.
Erstens - korrigieren Sie mich, wenn ich falsch liege. Wenn Sie keinen benutzerdefinierten Server implementieren (http oder Express), unterstützt die Link-Komponente nur Abfragezeichenfolgenparameter wie "/profile?id=123&action=edit".
Um mit einem URL-Params-Muster wie "/profile/:id" arbeiten zu können, müssen Sie einen benutzerdefinierten Server implementieren ... dies war das Beste, was ich durch die Beispiele erraten konnte ...
Wenn ja - wie würden Sie ein Muster wie "/profile/:id/edit" implementieren?
Im Beispiel "parameterized-routing" verwendet die index.js Links wie diese:
<Link href='/blog?ip=first' as='/blog/first'><a>My first blog post</a></Link>

und ich konnte nicht entschlüsseln, was der notwendige Workflow auf server.js ist
server.js erklärt const match = route('/blog/:id')

und dann ist unklar, was genau an die Adressleiste geht und welche Daten an die Reaktionskomponente gepusht werden?
Wie gehe ich mit Routen wie "/profile/:id/edit" um
Wie gehe ich generisch mit vielen Routen um (vom React-Router aus suchte ich nach dem Match-Utility-Äquivalent ...)
Auch wenn ich DB-Daten vor dem Rendern abrufen habe - wie kann ich die abgerufenen Daten an die Reaktionskomponente übergeben.
All dies ist etwas unklar und ich würde Ihre Hilfe ernsthaft zu schätzen wissen, da ich erfolglos versuchte, meinen Weg zu erraten.

Dankeschön
Angelehnt

Hilfreichster Kommentar

Dies ist eine Reihe von guten Fragen.
Wir werden weitere Informationen zu den Dokumenten hinzufügen.

Denke vorerst so:

  • Next.js kann nur Seiten bereitstellen. Sie sollten über Parameter übergeben. (Wie: /blog?id=first )
  • Mit #310 ermöglichen wir eine Möglichkeit, das Erscheinungsbild für die Außenwelt anzupassen. (Wie: blog/:id Siehe
  • Und wenn Sie clientseitiges Routing durchführen, weiß die clientseitige App nichts über benutzerdefinierte URLs.
  • Sie müssen also Link verwenden als: <Link href='/blog?id=first' as='/blog/first' />

    • href: Dies ist die eigentliche URL der Seite

    • as: So sollte es im Browser aussehen (normalerweise sollte es mit Ihrem benutzerdefinierten URL-Muster übereinstimmen)

Alle 3 Kommentare

Dies ist eine Reihe von guten Fragen.
Wir werden weitere Informationen zu den Dokumenten hinzufügen.

Denke vorerst so:

  • Next.js kann nur Seiten bereitstellen. Sie sollten über Parameter übergeben. (Wie: /blog?id=first )
  • Mit #310 ermöglichen wir eine Möglichkeit, das Erscheinungsbild für die Außenwelt anzupassen. (Wie: blog/:id Siehe
  • Und wenn Sie clientseitiges Routing durchführen, weiß die clientseitige App nichts über benutzerdefinierte URLs.
  • Sie müssen also Link verwenden als: <Link href='/blog?id=first' as='/blog/first' />

    • href: Dies ist die eigentliche URL der Seite

    • as: So sollte es im Browser aussehen (normalerweise sollte es mit Ihrem benutzerdefinierten URL-Muster übereinstimmen)

Danke @arunoda !
Einfach & klar.

Fantastisch. werde dieses Thema schließen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen