Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
web:framework:nextjs [2023/04/18 16:27] – jcheron | web:framework:nextjs [2024/04/08 08:56] (Version actuelle) – [Routage] jcheron | ||
---|---|---|---|
Ligne 20: | Ligne 20: | ||
npm run dev | npm run dev | ||
</ | </ | ||
+ | |||
+ | ==== Routage ==== | ||
+ | Avec App router, le routage est basé sur la structure des dossiers à partir de **app**. | ||
+ | |||
+ | * Chaque dossier représente un segment de route | ||
+ | * Les routes se concrétisent et sont accessibles à partir du moment où elles contiennent le fichier **page.jsx/ | ||
+ | |||
+ | < | ||
+ | |||
+ | === Layout === | ||
+ | **app/ | ||
==== Recupération de données ==== | ==== Recupération de données ==== | ||
+ | |||
=== Côté serveur === | === Côté serveur === | ||
+ | |||
+ | == Server Side Rendering == | ||
+ | |||
+ | <WRAP info round> | ||
+ | Sollicité côté serveur à chaque requête. | ||
+ | </ | ||
+ | |||
+ | <sxh javascript> | ||
+ | |||
+ | export default function Home({data}) { | ||
+ | return ( | ||
+ | <> | ||
+ | <UIList objects={data}/> | ||
+ | </ > | ||
+ | ) | ||
+ | } | ||
+ | |||
+ | export async function getServerSideProps() { | ||
+ | const res = await fetch(API_URL) | ||
+ | const data = await res.json() | ||
+ | return { | ||
+ | props: { | ||
+ | data | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | == Static Site Generation == | ||
<sxh javascript> | <sxh javascript> |