Gatsby: Layouts und Vorlagen - Wie sollen sie funktionieren und wie funktionieren sie gerade?

Erstellt am 11. Juli 2017  ·  3Kommentare  ·  Quelle: gatsbyjs/gatsby

Diese beiden Konzepte scheinen überflüssig. Und ich habe einige Probleme gesehen, die darauf hindeuten, dass sie in V1 nicht vollständig behoben sind. Kann jemand erklären, wie sie arbeiten sollen und wie sie tun?

1) Warum gibt es sowohl Layouts als auch Vorlagenkomponenten?

1) Wie wählen Sie alternative Layouts für Inhalte aus? (Ich habe im Blog-Starter ein Frontmatter-Feld gesehen, konnte es aber nicht auf einen tatsächlichen Effekt zurückführen. Auf jeden Fall scheint dies die Art zu sein, die Sie in createPages tun würden, nicht eine integrierte Frontmatter-Überschreibung. nicht?)

2) Wie funktionieren verschachtelte Vorlagen? Oder wie sollen sie funktionieren? Oder wozu brauchen Sie sie, wenn Sie verschiedene Vorlagenkomponenten für verschiedene Seiten auswählen können?

Vielen Dank!

Hilfreichster Kommentar

Sie können Layout als Vorlage höherer Ordnung verwenden, die andere Vorlagen steuert und die globalen Komponenten wie Nav, Fußzeile ... übergibt, und spezifische Vorlagen verwenden, um den Inhalt zu unterscheiden. Wenn ich beispielsweise ein Layout mit Navigationsleiste und Fußzeile und zwei Vorlagen namens Seiten und Blogs erstellt habe, würden sowohl Seiten als auch Blogs die Fußzeile der Navigationsleiste aus Layouts übernehmen und unterschiedliche Inhalte enthalten.

Alle 3 Kommentare

zu 1) Vorlagenkomponenten sind für Seitentypen wie Blog-Posts, Dokumentationsseiten usw. Layoutkomponenten sind für alles, was über Seiten hinweg geteilt wird, zB Kopfzeilen, Fußzeilen, Seitenleisten usw. Sie werden beide benötigt, weil sie sehr unterschiedliche Dinge sind :-) Lesen Sie auch https://www.gatsbyjs.org/docs/building-with-components/

zu 2) Sie können jetzt nicht. Das werden wir in Zukunft unterstützen. Diese Frontmatter-Felder waren alt und wurden nicht verwendet. Das tut mir leid. Habe sie gerade entfernt. Markdown-Posts werden mit createPage Eine Möglichkeit, einem Markdown-Post zu erlauben, das Standardlayout zu überschreiben, wäre die Verwendung von Frontmatter zur Auswahl eines Layouts.

zu 3) ebenfalls noch nicht unterstützt, aber für die Zukunft geplant. Ein Anwendungsfall ist, dass Sie ein globales Layout mit einer Kopf-/Fußzeile und dann einen Unterabschnitt der Site mit einer sekundären Seitenleistennavigation haben.

Sie können Layout als Vorlage höherer Ordnung verwenden, die andere Vorlagen steuert und die globalen Komponenten wie Nav, Fußzeile ... übergibt, und spezifische Vorlagen verwenden, um den Inhalt zu unterscheiden. Wenn ich beispielsweise ein Layout mit Navigationsleiste und Fußzeile und zwei Vorlagen namens Seiten und Blogs erstellt habe, würden sowohl Seiten als auch Blogs die Fußzeile der Navigationsleiste aus Layouts übernehmen und unterschiedliche Inhalte enthalten.

Danke, das klärt die Sache auf. 😀

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Oppenheimer1 picture Oppenheimer1  ·  3Kommentare

timbrandin picture timbrandin  ·  3Kommentare

jimfilippou picture jimfilippou  ·  3Kommentare

brandonmp picture brandonmp  ·  3Kommentare

ghost picture ghost  ·  3Kommentare