javascript / beginner
Snippet
Abfangen und Anzeigen von asynchronen Fetch-Fehlern im Komponenten-State
Asynchrone Netzwerkanfragen können durch Verbindungsprobleme oder HTTP-Fehlerstatus fehlschlagen. Das Umschließen von fetch in einem standardmäßigen try...catch-Block fängt auftretende Fehler ab und speichert die Fehlermeldung im lokalen State, um Feedback anzuzeigen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { useState, useEffect } from 'react';export function SafeDataLoader() {const [errorMessage, setErrorMessage] = useState(null);useEffect(() => {async function fetchData() {try {const response = await fetch('https://api.example.com/data');if (!response.ok) {throw new Error('Network response was not ok');}} catch (err) {setErrorMessage(err.message);}}fetchData();}, []);if (errorMessage) {return <p role="alert">Error: {errorMessage}</p>;}return <p>Data loaded successfully.</p>;}
react
Erklärung
1
const [errorMessage, setErrorMessage] = useState(null);
Initialisiert eine Variable zur Fehlerverfolgung mit null, solange kein Fehler aufgetreten ist.
2
if (!response.ok) {
Überprüft, ob der HTTP-Statuscode außerhalb des erfolgreichen Bereichs von 200-299 liegt.
3
throw new Error('Network response was not ok');
Löst explizit einen Error aus, um bei fehlerhaften HTTP-Antworten in den catch-Block zu springen.
4
} catch (err) {
Fängt abgewiesene Promises oder ausgelöste Exceptions ab und aktualisiert den Fehler-State.