Table des matières

NextJS

NextJS est un Framework FullStack basé sur ReactJS, côté serveur et côté client.

Installation

NodeJS requis

Création projet

Création du projet :

npx create-next-app@latest

Eventuellement avec le support typeScript :

npx create-next-app@latest --ts

Démarrage du serveur

cd my-next-app
npm run dev

Routage

Avec App router, le routage est basé sur la structure des dossiers à partir de app.

Layout

app/layout.jsx correspond au main layout, et permet de définir la structure de base des pages.

Recupération de données

Côté serveur

Server Side Rendering

Sollicité côté serveur à chaque requête.


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


export default function Home({data}) {
  return (
    <>
        <UIList objects={data}/>
    </ >
  )
}

export async function getStaticProps() {
    const res = await fetch(API_URL)
    const data = await res.json()
    return {
        props: {
            data
        }
    }
}