Dans Next.js, la fonction getServerSideProps vous permet de récupérer des données du serveur avant de restituer une page, la rendant adaptée au référencement. Cependant, la documentation officielle déconseille d'utiliser fetch() pour appeler des routes API internes dans getServerSideProps.
Raison d'évitement
L'appel d'une route API interne depuis getServerSideProps est redondant car les deux fonctionnent sur le serveur. Au lieu de cela, la logique de la route API doit être directement implémentée dans getServerSideProps pour éviter les requêtes HTTP inutiles.
Approche alternative
Pour utiliser la logique d'une route API dans getServerSideProps :
Exemple
pages/api/user.js (route API avec logique partagée)
import { getData } from "./userData"; export async function handler(req, res) { const data = await getData(); res.status(200).json({ data }); }
pages/home.js (getServerSideProps utilisant le partage logique)
import { getData } from "./api/user"; export async function getServerSideProps(context) { const data = await getData(); // ... other operations ... }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!