Mikrofrontendarkitektur med Module Federation · Lektion

Robuste error boundaries

Implementér React Error Boundaries eller lignende mekanismer for at isolere fejl i individuelle Micro Frontends.

Lektion 1 af 411 trin

Robuste error boundaries er en gratis Mikrofrontendarkitektur med Module Federation-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Mikrofrontendarkitektur med Module Federation, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mikrofrontendarkitektur med Module Federation-kurset indeholder 4 lektioner i alt.

Fejl i federerede applikationer

I mikrofrontend-arkitekturer arbejder flere uafhængige applikationer sammen. Denne distribuerede struktur gør robust fejlhåndtering utrolig vigtig.

En fejl i én del af dit system bør ikke ødelægge hele brugeroplevelsen. Vi har brug for metoder til at begrænse og håndtere disse problemer.

Forebyggelse af kaskaderende fejl

Forestil dig, at din hovedapplikation (værten) indlæser en fjernmikrofrontend. Hvad sker der, hvis den fjernbaserede MFE går ned på grund af en fejl, der ikke er håndteret?

Uden den rette isolation kan fejlen "boble op" og få værtsapplikationen til at gå ned, hvilket kan føre til en tom skærm eller en ødelagt brugeroplevelse. Det kaldes et kaskaderende nedbrud.

Introduktion til fejlgrænser

React introducerede Error Boundaries som en måde at håndtere fejl i dit komponenttræ på en elegant måde. Det er React-komponenter, der opfanger JavaScript-fejl overalt i deres underkomponenttræ.

  • Log disse fejl.
  • Vis en reservebrugergrænseflade i stedet for at få hele applikationen til at gå ned.

En fejlgrænses livscyklus

En Error Boundary er en klassekomponent, der implementerer en eller begge af disse statiske livscyklusmetoder:

  • static getDerivedStateFromError(error): Gengiver en reservebrugergrænseflade efter en fejl.
  • componentDidCatch(error, errorInfo): Bruges til logning af fejloplysninger.

Disse metoder fungerer som en try-catch-blok for dine React-komponenter.

Strukturen af en fejlgrænse

Lad os se på den grundlæggende struktur for en React-fejlgrænse. Det er en almindelig React-klassekomponent, men med særlige livscyklusmetoder.

Når der opstår en fejl i en underkomponent, opdaterer getDerivedStateFromError fejlgrænsens tilstand, så den kan gengive en alternativ brugergrænseflade.

Kodeeksempel på en fejlgrænse

Her er et forenklet eksempel på en fejlgrænsekomponent:

import React from 'react';

class MyErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    // Update state so the next render shows the fallback UI.
    return { hasError: true };
  }

  componentDidCatch(error, errorInfo) {
    // You can also log the error to an error reporting service
    console.error("Error caught by boundary:", error, errorInfo);
  }

  render() {
    if (this.state.hasError) {
      // You can render any custom fallback UI
      return <h1>Something went wrong.</h1>;
    }

    return this.props.children; 
  }
}

Visning af en reservebrugergrænseflade

Når en Error Boundary opfanger en fejl, bliver dens hasError-tilstand true. I dens render-metode kontrollerer den denne tilstand.

Hvis hasError er true, gengiver den en tilpasset reservebrugergrænseflade i stedet for sine underkomponenter. Det kan være en enkel meddelelse som "Noget gik galt" eller en mere omfattende fejlside.

Indpakning af fjernkomponenter

I en mikrofrontend-opsætning vil du typisk indpakke hver fjernkomponent, du bruger fra en anden MFE, med en Error Boundary.

Det sikrer, at hvis en bestemt fjernkomponent i en MFE fejler, er det kun den del af brugergrænsefladen, der viser en fejl, mens resten af din værtsapplikation fortsat fungerer.

Strategisk placering af fejlgrænser

Det afgørende er at vælge den rette detaljeringsgrad. Du kan have en enkelt Error Boundary omkring en hel fjernbaseret MFE eller flere fejlgrænser omkring mindre, kritiske dele af den.

Flere fejlgrænser giver en mere finmasket isolation og forhindrer, at et nedbrud i en lille widget påvirker andre widgets i den samme MFE.

Test din viden

Hvilke af følgende udsagn er SANDE om React-fejlgrænser i mikrofrontends?

Opsummering: Fejlgrænser

Du har lært, hvordan React-fejlgrænser er et stærkt værktøj til at bygge robuste mikrofrontends.

  • De isolerer fejl i underkomponenter.
  • De forhindrer kaskaderende nedbrud på tværs af MFE'er.
  • De leverer en elegant reservebrugergrænseflade.

Dernæst udforsker vi strategier til reservevisninger og elegant forringelse, når moduler ikke kan indlæses overhovedet.

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Robuste error boundaries” gratis?

Ja — hele teksten til “Robuste error boundaries” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Mikrofrontendarkitektur med Module Federation-kurset, skal du opgradere til CoddyKit PRO. Mikrofrontendarkitektur med Module Federation-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Robuste error boundaries”?

Implementér React Error Boundaries eller lignende mekanismer for at isolere fejl i individuelle Micro Frontends. Du øver dig i Mikrofrontendarkitektur med Module Federation med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mikrofrontendarkitektur med Module Federation?

Der kræves ingen tidligere erfaring. Mikrofrontendarkitektur med Module Federation på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Robuste error boundaries”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mikrofrontendarkitektur med Module Federation-lektion?

Ja. Alle Mikrofrontendarkitektur med Module Federation-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Robuste error boundaries
  2. Fallbacks og kontrolleret forringelse
  3. Overvågning af federerede applikationer
  4. Håndtering af fejl ved indlæsning af remotes
← Tilbage til Mikrofrontendarkitektur med Module Federation