Implementierung von getStaticPaths
Zuerst richten wir die Dateien ein:
- Erstelle eine Datei namens
[id].js
im Verzeichnispages/posts
. - Entferne außerdem
first-post.js
im Verzeichnispages/posts
— wir werden diese nicht mehr verwenden.
Öffne dann pages/posts/[id].js
in deinem Editor und füge den folgenden Code ein. Die ...
werden wir später ausfüllen:
Öffne anschließend lib/posts.js
und füge die folgende getAllPostIds
-Funktion am Ende hinzu. Sie gibt die Liste der Dateinamen (ohne .md
) im posts
-Verzeichnis zurück:
Wichtig: Die zurückgegebene Liste ist nicht einfach ein Array von Strings — es muss ein Array von Objekten sein, die wie im obigen Kommentar beschrieben aussehen. Jedes Objekt muss den Schlüssel params
enthalten und ein Objekt mit dem Schlüssel id
(weil wir [id]
im Dateinamen verwenden). Andernfalls schlägt getStaticPaths
fehl.
Zum Schluss importieren wir die getAllPostIds
-Funktion und verwenden sie innerhalb von getStaticPaths
. Öffne pages/posts/[id].js
und kopiere den folgenden Code oberhalb der exportierten Post
-Komponente:
paths
enthält das Array der bekannten Pfade, die vongetAllPostIds()
zurückgegeben werden, einschließlich der vonpages/posts/[id].js
definierten Parameter. Mehr dazu in derpaths
-Key-Dokumentation- Ignoriere
fallback: false
vorerst — wir werden das später erklären.
Wir sind fast fertig — aber wir müssen noch getStaticProps
implementieren. Das machen wir auf der nächsten Seite!