React · Middle · Pytanie 51 z 75

Co jest nie tak z tym efektem?

const [filtered, setFiltered] = useState([]);
useEffect(() => {
  setFiltered(items.filter((i) => i.visible));
}, [items]);

Wyjaśnienie

Efekt najpierw renderuje nieaktualne filtered, a potem jeszcze raz z nową wartością. const filtered = items.filter(...) (z useMemo, jeśli kosztowne) jest zawsze zsynchronizowane.

Do poczytania

Błąd w pytaniu

React · Middle · pytanie 51

Sprawdź się

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

Rozwiąż ten test