React · Junior · Frage 28 von 75
Welche Hook-Regel wird verletzt?
function Profile({ id }) {
if (!id) return null;
const [data, setData] = useState(null);
// ...
}- 1Der Hook steht nach einem bedingten
return, die Reihenfolge ändert sich - 2Hooks dürfen nicht in Komponenten verwendet werden, die Props bekommen
- 3Nichts wird verletzt: Ein frühes
returnvor Hooks ist erlaubt
Antwort zeigen
Richtige Antwort: Der Hook steht nach einem bedingten return, die Reihenfolge ändert sich
Erklärung
React ordnet den Zustand den Hooks anhand ihrer Aufrufreihenfolge zu. Wird ein Hook in einem Rendering nicht aufgerufen (wegen eines frühen return, einer Bedingung oder einer Schleife), bricht die Reihenfolge. Rufe Hooks auf oberster Ebene auf, vor jedem bedingten Ausstieg.