Loader (React Router)

React 🟡 Mid

Définition

Fonction associée à une route qui charge les données avant le rendu du composant (modes data et framework de React Router). En mode framework (depuis la v7, 22 novembre 2024), le composant reçoit loaderData typé en prop via les types générés Route.LoaderArgs et Route.ComponentProps.

Analogie

Comme un serveur qui prépare ta table avant que tu arrives : tout est prêt quand tu t'assois.

Exemple de code

// app/routes/user.tsx (framework mode, v7+)
import type { Route } from './+types/user';

export async function loader({ params }: Route.LoaderArgs) {
  const user = await getUser(params.id);
  return { user };            // plus besoin de json()
}

export default function User({ loaderData }: Route.ComponentProps) {
  return <p>{loaderData.user.name}</p>;   // typé automatiquement
}
// Mode data : useLoaderData() reste disponible

Cas d'usage

Pre-charger les données d'une page avant le rendu pour éviter les waterfalls de fetching.

#routing#data-fetching

Dans l'actu

  • 15/09 React Router 8.4.0 restructure ses contextes internes en quatre contextes granulaires (localisation, navigation/revalidation en attente, données loader/action, fetchers) pour supprimer les re-renders inutiles des composants de rou… Semaine 38 · 14 – 20 septembre 2026 →

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre