React Academy · leksjon

Hva StrictMode gjør

Forstå dobbelkall og advarsler om utdaterte API-er i utvikling.

Leksjon 1 av 413 trinn

Hva StrictMode gjør er en gratis leksjon i React Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i React Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i React Academy inneholder totalt 4 leksjoner.

Velkommen

I denne leksjonen skal du lære hva React.StrictMode gjør under utvikling, hvilke advarsler den avdekker, og hvordan den hjelper deg med å skrive sikrere React-kode.

Hva er StrictMode?

StrictMode er en spesiell React-komponent som pakker inn deler av treet ditt og aktiverer ekstra kontroller **bare under utvikling**. Den har ingen effekt på produksjonsbygget.
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  </StrictMode>
);

Dobbel kjøring av livssyklus

I Strict Mode kaller React komponentfunksjonen og enkelte livssyklusmetoder **to ganger** under utvikling. Dette er laget for å avdekke bivirkninger som ikke ryddes opp riktig.

Hvorfor kjøres den to ganger?

React 18+ kan montere komponenter på nytt i fremtiden (for eksempel for fast-refresh og Offscreen API). Dobbel kjøring under utvikling simulerer dette, slik at du oppdager feil som abonnementer som hoper seg opp, eller DOM-mutasjoner som kjøres to ganger.

Effekt: montering–avmontering–ny montering

Med StrictMode i React 18 kjøres hver useEffect, ryddes opp og kjøres på nytt ved den første monteringen. Hvis oppryddingsfunksjonen er riktig, er den doble kjøringen ufarlig. Hvis appen din slutter å fungere, mangler oppryddingen eller er den feil.
useEffect(() => {
  const id = setInterval(() => setTick(t => t + 1), 1000);
  return () => clearInterval(id); // cleanup required!
}, []);

Oppdage utdaterte API-er

StrictMode viser en advarsel når koden bruker utdaterte React-API-er som `componentWillMount`, `componentWillReceiveProps` og string refs. Disse advarslene vises som gule advarsler i nettleserkonsollen.

Advarsel om det eldre Context-API-et

Hvis et tredjepartsbibliotek bruker det eldre Context-API-et (`childContextTypes` / `getChildContext`), viser StrictMode en advarsel. Dette betyr at biblioteket må oppdateres til det moderne `React.createContext`-API-et.

Trygt å aktivere i eksisterende apper

Du kan pakke inn bare deler av komponenttreet i StrictMode for å aktivere det gradvis i en eksisterende app. Begynn med nye deler, og utvid etter hvert som du løser advarslene.
function App() {
  return (
    <>
      <LegacyPart />  {/* not wrapped */}
      <StrictMode>
        <NewFeature />
      </StrictMode>
    </>
  );
}

Ingen visuell forskjell

StrictMode rendrer ikke noe synlig brukergrensesnitt. Det er utelukkende et utviklingsverktøy. Du ser ingen ekstra elementer i DOM-en – bare flere advarsler i konsollen og oppførselen ved dobbel kjøring.

Aktiver det fra første dag

Det er best å aktivere StrictMode helt fra starten av et prosjekt. Det er langt billigere å løse problemer med dobbel kjøring tidlig enn å oppdage dem senere, når kodebasen er stor.

Rask kontroll

Hva er hensikten med at React StrictMode kjører komponentfunksjoner to ganger?

Oppsummering

StrictMode er et utviklingsverktøy uten kjøretidskostnad som kjører rendering og effekter to ganger for å avdekke kode som ikke er ren, viser advarsler om utdaterte API-er og forbereder appen din på fremtidige React-funksjoner.

Neste

Neste leksjon: **Rene komponenter og å unngå bivirkninger i rendering** – du skal lære å skrive render-funksjoner som ikke endrer data eller leser eksterne verdier.
Gratis å komme i gang

Lær deg React med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
88
Leksjoner
324

Ofte stilte spørsmål

Er leksjonen «Hva StrictMode gjør» gratis?

Ja – hele teksten i «Hva StrictMode gjør» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av React Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i React Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Hva StrictMode gjør»?

Forstå dobbelkall og advarsler om utdaterte API-er i utvikling. Du øver på React Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med React Academy?

Ingen tidligere erfaring er nødvendig. React Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Hva StrictMode gjør»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne React Academy-leksjonen?

Ja. Alle React Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hva StrictMode gjør
  2. Rene komponenter og unngå bivirkninger under gjengivelse
  3. Beste praksis for key og ref
  4. Mappestruktur og navnekonvensjoner
← Tilbake til React Academy