Kiedy wykonuje się funkcja czyszczona w useEffect w React?

Kiedy wykonuje się funkcja czyszczona w useEffect w React?
GO
  • Rejestracja:około 3 lata
  • Ostatnio:około 3 lata
  • Postów:13
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?

Xarviel
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 23 godziny
  • Postów:847
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.

Kopiuj
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.

Kopiuj
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]);
edytowany 1x, ostatnio: Xarviel

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.