web:framework:nextjs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
web:framework:nextjs [2023/03/22 03:45] – [Recupération de données] jcheronweb:framework:nextjs [2024/04/08 08:56] (Version actuelle) – [Routage] jcheron
Ligne 18: Ligne 18:
 <sxh bash;gutter:false> <sxh bash;gutter:false>
 cd my-next-app cd my-next-app
-npx run dev+npm run dev
 </sxh> </sxh>
 +
 +==== 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/tsx**
 +
 +<html><div class="imageB"></html>{{:web:framework:pasted:20240408-083105.png?600}}<html></div></html>
 +
 +=== Layout ===
 +**app/layout.jsx** correspond au main layout, et permet de définir la structure de base des pages.
  
 ==== 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.
 +</WRAP>
 +
 +<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
 +        }
 +    }
 +}
 +</sxh>
 +
 +== Static Site Generation ==
  
 <sxh javascript> <sxh javascript>
Ligne 30: Ligne 71:
     <>     <>
         <UIList objects={data}/>         <UIList objects={data}/>
-    </>+    </ >
   )   )
 } }
  • web/framework/nextjs.1679453151.txt.gz
  • Dernière modification : il y a 2 ans
  • de jcheron