React · Middle · Pytanie 6 z 75

Dlaczego nie należy deklarować komponentu wewnątrz innego komponentu?

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

Wyjaśnienie

Dla React Row z różnych renderów to różne typy komponentów, bo to nowe funkcje. Dlatego poddrzewo za każdym razem się odmontowuje i montuje ponownie: tracony jest stan i fokus, a DOM jest odtwarzany. Deklaruj komponenty na najwyższym poziomie modułu.

Do poczytania

Błąd w pytaniu

React · Middle · pytanie 6

Sprawdź się

Rozwiąż test React · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test