Kiedy wykonuje się funkcja czyszczona w useEffect w React?

0

Kiedy wykonuje się funkcja czyszczona w useEffect w React? Czy najpierw uruchamiana jest funkcja czyszcząca, a dopiero potem jest aktualizowany state przy użyciu metody setState czy może na odwrót?

2

https://pl.reactjs.org/docs/hooks-effect.html#example-using-hooks-1

Jeśli przekazujemy pustą tablicę jako zależność to funkcja "czyszcząca" wykona się jedynie w momencie odmontowania komponentu.

useEffect(() => {
  console.log('init'); // wykona się raz podczas renderowanie komponentu

  return () => {       // funkcja zostanie wywołana przy kasowaniu komponentu z DOM
    console.log('delete');
  };
}, []);

Przy przekazaniu wartości do tablicy useEffect wywoła funkcję przy każdej zmianie tych wartości.

useEffect(() => {
  console.log('init'); // wykona się za każdym razem jak wartość foo, bar lub loremIpsum się zmieni

  return () => { // tutaj tak samo, funkcja zostanie wywołana za każdym razem jak wartość foo, bar lub loremIpsum się zmieni
    console.log('delete');
  };
}, [foo, bar, loremIpsum]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1