• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

React - komponenty klasowe w 2021r.

+1 głos
894 wizyt
pytanie zadane 3 maja 2021 w JavaScript przez rszczepanski02 Obywatel (1,180 p.)
Cześć! Kieruje do was pytanie dot. reacta.

Jestem już na dosyć dalekiej drodze w poznawaniu reacta. Potrafię budować mniej złożone aplikacje. W najbliższym czasie planuję zabrać się za MobX i Redux. Męczy mnie jednak temat związany z komponentami klasowymi.

Ostatnio przypadkiem trafiłem na artykuł, który wskazuje na to, że komponenty klasowe aktualnie są raczej nieużywane i powinno się stosować tylko komponenty funkcyjne. Artykuł był bardzo ubogi, nawet nie wiem czy mogę go nazwać artykułem, dlatego też kieruję pytanie do was. Dlaczego powinno się unikać komponentów klasowych w aplikacji react?

 

Pozdrawiam,

Radosław Szczepański

2 odpowiedzi

+3 głosów
odpowiedź 3 maja 2021 przez CubeStorm Pasjonat (15,020 p.)

Komponentów klasowych nie powinno się używać między innymi ze względu na Reactowe hooki, których można używać tylko w komponentach funkcyjnych. Dzięki hookom kod staje się krótszy i czytelniejszy. Inicjalizacja stanu i jego zmiana dzięki useState jest czytelniejsze i krótsza niż przy klasowym obiekcie state i wbudowanej metody setState. Kolejny świetny hook - useEffect zastępuje nam stare właściwości componentWillUpdate, componentWillUnMount i componentDidMount. Hooków jest wiele, useLayoutEffect, useContext, useMemo, useReducer, useCallback etc...

Samo stworzenie komponentu klasowego to więcej pisania kodu niż przy tworzeniu komponentu funkcyjnego. Dodatkowo dzięki komponentom funkcyjnym nie musi się martwić o this.

Myślę, że obecnie pisanie aplikacji w React przy użyciu komponentów klasowych możemy porównać do pisania aplikacji webowych w czystych językach programowania - od tego się odchodzi, służą do tego frameworki.

komentarz 4 maja 2021 przez rszczepanski02 Obywatel (1,180 p.)
Dzięki wielkie! Wyczerpująca temat odpowiedź :)

Pozdrawiam!
+2 głosów
odpowiedź 3 maja 2021 przez niezalogowany

Bo komponenty klasowe są nieco przestarzałe i potrzebują nieco więcej kodu niż komponenty funkcyjne.

od 16.8 mamy tzw  Hooki  których używamy tylko z komponentami funkcyjnymi.

"Ponadto klasy dezorientują zarówno ludzi jak i maszyny"

Polecam Ci dokumentację jest bardzo przyjaźnie napisana.

https://pl.reactjs.org/docs/hooks-intro.html

https://pl.reactjs.org/docs/components-and-props.html

Ogólnie rzecz biorąc komponenty klasowe zostają(nie ma planów usunięcia według dokumentacji) dlatego warto się z nimi oswoić i zaznajomić, ale aktualnie powinno się używać świeżych metod które pozwalają pisać mniej kodu i jest on prostszy do zrozumienia i czytania . Czyli Hooki i komponenty funkcyjne.

Tutaj masz fajny artykuł możesz nieco pogłębić wiedzę:

https://dev.to/danielleye/react-class-component-vs-function-component-with-hooks-13dg

Pozdrawiam i Miłej Nauki smiley

 

komentarz 4 maja 2021 przez rszczepanski02 Obywatel (1,180 p.)
Dzięki wielkie! :)

Pozdrawiam!

Podobne pytania

0 głosów
1 odpowiedź 256 wizyt
pytanie zadane 29 czerwca 2020 w JavaScript przez vishi7 Początkujący (430 p.)
0 głosów
1 odpowiedź 654 wizyt
pytanie zadane 7 kwietnia 2021 w JavaScript przez an0nymous123 Początkujący (280 p.)
0 głosów
1 odpowiedź 557 wizyt

93,736 zapytań

142,672 odpowiedzi

323,294 komentarzy

63,299 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...