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

React - komponent klasowy czy funkcyjny?

Object Storage Arubacloud
0 głosów
2,199 wizyt
pytanie zadane 2 maja 2020 w JavaScript przez kalczur Gaduła (4,320 p.)
Cześć,
zaczynam naukę biblioteki React i nie jestem pewien co do kwestii typów komponentów. Chciałbym dowiedzieć się, jakie są różnice a najlepiej, kiedy stosować klasowy, a kiedy funkcyjny. Przed wersją 16.8, gdy hooki nie były dostępne ta różnica była dość oczywista. Osobiście pisanie funkcji jest dla mnie czytelniejsze, ale nie wiem, czy w ten sposób należy tworzyć wszystkie.

2 odpowiedzi

+1 głos
odpowiedź 2 maja 2020 przez rafal.budzis Szeryf (85,260 p.)
Obecnie jeśli robisz swoje custom hooki i podoba Ci się ten styl pisania zalecam pisać wszędzie komponenty funkcyjne :) Jedynym problemem jest przechwytywanie błędów renderowania. Do tego jest Ci potrzebny jakiś jeden komponent klasowy w którym jakoś ładnie to przechwycisz :)
0 głosów
odpowiedź 2 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)

14s szukania w google

  1. Functional component are much easier to read and test because they are plain JavaScript functions without state or lifecycle-hooks
  2. You end up with less code
  3. They help you to use best practices. It will get easier to separate container and presentational components because you need to think more about your component’s state if you don’t have access to setState() in your component
  4. The React team mentioned that there may be a performance boost for functional component in future React versions

Coś kojarzę, że w przyszłości React będzie rezygnował z klas właśnie na rzecz komponentów funkcyjnych.

komentarz 2 maja 2020 przez arkadiusz Obywatel (1,140 p.)

Cytat z dokumentacji reacta dotyczący komponentów klasowych:

There are no plans to remove classes from React.

Źródło: https://reactjs.org/docs/hooks-intro.html

komentarz 3 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)
Mój błąd wybaczcie. Ale chyba możemy się zgodzić, ze jednak wskazane jest stosowanie komponentów funkcyjnych niż klasowych?
komentarz 3 maja 2020 przez arkadiusz Obywatel (1,140 p.)
No ja się nie zgodzę z takim stwierdzeniem. Wskazane to chyba za duże słowo. Ale to moje zdanie. Sami Twórcy nie rezygnują z klas z jakiegoś powodu.

Można wyliczać plusy i minusy obu rozwiązań.  Bardzo trywialny argument stojący za komponentami klasowymi - projekty, które mają reacta w wersji poniżej 16.8 i z jakiegoś powodu nie są aktualizowane. One nie wspierają hookow i tam stan będziemy musieli przechować w komponnetach klasowych.

Podobne pytania

0 głosów
1 odpowiedź 451 wizyt
pytanie zadane 25 marca 2021 w Inne języki przez karolina_web Nowicjusz (140 p.)
+1 głos
1 odpowiedź 308 wizyt
pytanie zadane 31 stycznia 2022 w JavaScript przez Oskar Szkurłat Bywalec (2,780 p.)
0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 19 stycznia 2022 w JavaScript przez gunaterek Bywalec (2,760 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...