Startseite / Artikel / Vite + React von Grund auf, wobei der React Compiler bereits früh aktiviert wird

Vite + React von Grund auf, wobei der React Compiler bereits früh aktiviert wird

Setzen Sie Vite als Scaffold ein, lesen Sie den Eingangspunkt und aktivieren Sie den React Compiler, bevor die erste Funktion implementiert wird.

1732 Wörter

Reacts ursprüngliches Konzept war eine vorhersehbare Benutzeroberfläche trotz sich ändernder Daten. Der moderne Einstiegsweg besteht aus Vite für schnelle lokale Rückmeldungen sowie – falls gewünscht – dem React Compiler, um die früher manuell durchgeführte Memoisierung zu automatisieren.

Was wir verwenden (und überspringen)

Als Grundlage Vite + React + TypeScript. Kein CRA. Der React Compiler wird absichtlich aktiviert, damit man seine Wirkung bereits bei den ersten Komponenten erkennen kann.

Voraussetzung: Node.js

Installieren Sie eine aktuelle Node LTS-Version, überprüfen Sie, ob node und npm (oder pnpm) im PATH enthalten sind, und erstellen Sie anschließend das Projektgerüst:

// 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';
}

Abschätzung der Ordnerstruktur

Kennen Sie vor dem Ändern der Tools den Standort von index.html, src/main.tsx und App?

// 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>;
}

Aufschlüsselung des Einstiegspunkts

Der Einstiegspunkt montiert die Wurzelkomponente und lädt globales CSS herunter. Belassen Sie das unkompliziert; Funktionscode gehört in die Komponenten.

node -v
corepack enable

React Compiler einschalten

Fügen Sie das Compiler-Plugin zur Build-Konfiguration hinzu, damit die Integration von Babel/SWC den Dokumentationen für Ihre Vite-Version entspricht:

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

Bestätigen, dass es aktiv ist

Verwenden Sie die in den Dokumentationen beschriebenen Überprüfungen oder ein kleines Komponente, das sonst useMemo/memo benötigen würde, und überprüfen Sie die Ausgabe des Compilers oder die Anzeiger der Tools:

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

Erste Funktion ohne Konflikte mit den Tools

// 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

Zusammenfassung

// 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()],
    }),
  ],
});

Jetzt haben Sie eine Vite React-Anwendung mit früh integrierter Compilerunterstützung – ideal für eine Reihe, die von automatischer Memoisierung ausgeht anstatt diese später hinzuzufügen. Halten Sie die Tests in Ordnung, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen könnte. Halten Sie die Tests in Ordnung, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen könnte. Halten Sie die Tests in Ordnung, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen könnte. Halten Sie die Tests in Ordnung, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen könnte. Halten Sie die Tests in Ordnung, messen Sie e

Halten Sie die Einrichtungen in einem guten Zustand, messen Sie jede Stufe getrennt und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann.Halten Sie die Testumgebungen in einem guten Zustand, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen zu vertrauen beim Veröffentlichen – schließlich kann die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen.Vermeiden Sie denselben stillen Fehlermodus unter einem neuen Namen. Halten Sie die Komponenten umweltfreundlich, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten umweltfreundlich, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten umweltfreundlich, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten umweltfreundlich, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten umweltfreundlich, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann.Name. Halten Sie die Testumgebungen intakt, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Testumgebungen intakt, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Testumgebungen intakt, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Testumgebungen intakt, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Testumgebungen intakt, messen Sie jede Phase separat und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Testumgebungen intakt, messen Sie jede PhaseHalten Sie die Prüfgeräte in gutem Zustand, messen Sie jede Stufe getrennt voneinander und weigern Sie sich, allein auf Intuitionen zu vertrauen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann.Halten Sie die Testumgebungen in einem guten Zustand, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stillen Fehlermodus unter einem neuen Namen wieder einführen kann.Ein stummer Fehlermodus tritt unter einem neuen Namen auf. Halten Sie die Komponenten unverändert, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stummen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten unverändert, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stummen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten unverändert, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stummen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten unverändert, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stummen Fehlermodus unter einem neuen Namen wieder einführen kann. Halten Sie die Komponenten unverändert, messen Sie jede Phase getrennt voneinander und weigern Sie sich, allein auf Intuitionen hin etwas zu veröffentlichen, wenn die nächste Version denselben stummen Fehlermodus unter einem neuen Namen wieder einführen kann.