Accueil / Articles / Apprendre vite + React à partir de zéro, avec le React Compiler activé dès le début

Apprendre vite + React à partir de zéro, avec le React Compiler activé dès le début

Créez un squelette avec Vite, lisez le fichier d’entrée, et activez React Compiler avant que la première fonctionnalité ne soit mise en place.

1732 mots

L’idée initiale de React était d’offrir une interface utilisateur prévisible malgré des données en évolution. La solution moderne de base est Vite pour un retour rapide localement, et — si vous le choisissez — React Compiler pour automatiser la mémorisation qui était auparavant écrite manuellement.

Ce que nous utilisons (et ce que nous omettons)

Vite + React + TypeScript comme base. Pas de CRA. React Compiler est activé délibérément afin que vous puissiez en observer l’effet dès les premiers composants.

Prérequis : Node.js

Installez une version LTS récente de Node, vérifiez que node et npm (ou pnpm) sont présents dans le PATH, puis créez la structure de base :

// The old way — you manually keep the screen in sync every time the data changes
const badge = document.querySelector('#unread-badge');
badge.textContent = count;
if (count === 0) {
  badge.style.display = 'none';
} else {
  badge.style.display = 'block';
}

Lecture de la structure des dossiers

Sachez où se trouvent index.html, src/main.tsx et App avant de modifier les outils :

// The React way — you simply declare "for this state, the screen looks like this"
function UnreadBadge({ count }: { count: number }) {
  if (count === 0) return null;
  return <span className="badge">{count}</span>;
}

Décryptage du point d’entrée

Le point d’entrée charge la racine et importe le CSS global. Gardez cela simple ; le code fonctionnel doit se trouver dans les composants.

node -v
corepack enable

Déactiver React Compiler

Ajoutez le plugin du compilateur à la configuration de build afin que l’intégration avec Babel/SWC corresponde aux documents de votre version de Vite :

npm install -g pnpm
pnpm create vite@latest restart-react --template react-ts

Vérifier son activation

Utilisez les vérifications décrites ou un petit composant qui nécessiterait normalement useMemo/memo, puis vérifiez la sortie du compilateur ou les indicateurs des outils :

cd restart-react
pnpm install
pnpm dev
restart-react/
├── index.html          ← the single HTML file the app mounts into
├── package.json        ← dependencies and scripts
├── tsconfig.json       ← TypeScript config
├── vite.config.ts      ← Vite config (we'll edit this shortly)
└── src/
    ├── main.tsx        ← the app's entry point
    ├── App.tsx         ← the top-level component
    ├── App.css
    └── index.css

Première fonctionnalité sans conflit avec l’outil

// src/main.tsx
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.tsx'

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <App />
  </StrictMode>,
)
pnpm install -D babel-plugin-react-compiler@latest @rolldown/plugin-babel

Résumé

// vite.config.ts (before)
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
});
// vite.config.ts (after)
import { defineConfig } from 'vite';
import react, { reactCompilerPreset } from '@vitejs/plugin-react';
import babel from '@rolldown/plugin-babel';

export default defineConfig({
  plugins: [
    react(),
    babel({
      presets: [reactCompilerPreset()],
    }),
  ],
});

Vous disposez maintenant d’une application Vite React avec un support de compilateur intégré dès le départ — idéale pour une série qui suppose une mémorisation automatique plutôt que d’y ajouter des fonctionnalités ultérieurement. Maintenez les tests en bon état, mesurez chaque étape séparément, et refusez de livrer uniquement en vous fiant à votre intuition lorsque la prochaine version pourrait réintroduire le même mode de défaillance silencieux sous un nouveau nom. Maintenez les tests en bon état, mesurez chaque étape séparément, et refusez de livrer uniquement en vous fiant à votre intuition lorsque la prochaine version pourrait réintroduire le même mode de défaillance silencieux sous un nouveau nom. Maintenez les tests en bon état, mesurez chaque étape séparément, et refusez de livrer uniquement en vous fiant à votre intuition lorsque la prochaine version pourrait réintroduire le même mode de défaillance silencieux sous un nouveau nom. Maintenez les tests en bon état, mesurez chaque étape séparément, et refusez de livrer uniquement en vous fiant à votre intuition lorsque la prochaine version pourrait réintroduire le même mode de défaillance silencieux sous un nouveau nom. Maintenez les tests en bon état, mesurez e

Maintenez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement aux impressions subjectives lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.Restez sur des solutions fiables, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à des intuitions lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.Évitez le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements écologiques, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à l’intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements écologiques, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à l’intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements écologiques, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à l’intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements écologiques, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à l’intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements écologiques, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à l’intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.Nom. Gardez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom. Gardez les équipements en bon état, mesurez chaque étapeMaintenez les équipements en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement aux impressions subjectives lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.Maintenez les outils en bon état, mesurez chaque étape séparément, et refusez de livrer en vous fiant uniquement à votre intuition lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.Maintenir les équipements en bon état, mesurer chaque étape séparément, et refuser de livrer en se fiant uniquement aux intuitions, lorsque la prochaine version peut réintroduire le même mode de défaillance silencieux sous un nouveau nom.