React · Senior · Frage 53 von 75
Warum suspendiert diese Komponente endlos (oder lädt endlos neu)?
function Profile({ id }) {
const user = use(fetch(`/api/users/${id}`).then((r) => r.json()));
return <h1>{user.name}</h1>;
}- 1
usedarf in keiner Client-Komponente aufgerufen werden - 2
fetchist innerhalb einesuse-Aufrufs nicht erlaubt - 3Ein neues Promise bei jedem Rendern;
usebraucht ein stabiles
Antwort zeigen
Richtige Antwort: Ein neues Promise bei jedem Rendern; use braucht ein stabiles
Erklärung
Nach dem Suspendieren rendert React die Komponente neu, was ein weiteres Promise erzeugt. Übergib ein Promise aus einer Server Component, einer Datenbibliothek oder einem nach id geschlüsselten Cache.