React · Middle · Frage 6 von 75

Warum sollte man eine Komponente nicht in einer anderen Komponente deklarieren?

function Page() {
  function Row({ item }) { return <li>{item}</li>; }
  return <ul>{items.map(i => <Row key={i} item={i} />)}</ul>;
}
Antwort zeigen

Richtige Antwort: Jedes Rendering erzeugt einen neuen Typ Row - er wird neu erzeugt

Erklärung

Für React sind Row aus verschiedenen Renderings unterschiedliche Komponententypen, denn es sind neue Funktionen. Der Teilbaum wird daher jedes Mal unmountet und neu gemountet: Zustand und Fokus gehen verloren, das DOM wird neu erzeugt. Deklariere Komponenten auf oberster Ebene des Moduls.

Zum Weiterlesen

Fehler in der Frage

React · Middle · Frage 6

Teste dich selbst

Mach den Test React · Middle: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen