ngOnInit vs useEffect

ngOnInit vs useEffect
M1
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:17
0

Mam pytanko, czy ngOnInit (angular) można porównać do useEffect (react)? Są jakieś znaczące roznice między tymi funkcjami?

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10085
0

No to są dwie zupełnie różne rzeczy.

ngOnInit() to jest tzw life-cycle method, czyli funkcja która jest uruchamiana kiedy dzieje się jakieś zdarzenie w komponencie, w tym wypadku jego inicjalizacja.

useEffect() w reakcie to hook, czyli takie pół-deklaratywno, pół-funkcyjne podejście do kompozycji zachowań w komponentach. Hooki rządzą się innymi prawami niż life-cycle methods.

Co do samego pytania ngOnInit() vs useEffect(), to to porównanie jest zupełnie nie na mniejscu (jakby porównywać motor kawasaki ninja do samochodu audi r8), - ale jeśli już je porównać, to ngOnInit() uruchomi się raz przy inicjalizacji komponentu. Natomiast to co jest w useEffect() uruchomi się wtedy kiedy jego zadeklarowane zależności (które mogą być puste albo nie istniejące) się zmienią.

Dwie zupełnie różne rzeczy.

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.