TidewayCo dziś grzeje w sieci
Dlaczego nie każdą wartość w React powinno się trzymać w useState?
1 min czytaniaWyjaśnienieStreszczenie AI

Treść wygenerowana automatycznie na podstawie publicznych źródeł. Sprawdź oryginał w sekcji poniżej.

Dlaczego nie każdą wartość w React powinno się trzymać w useState?

useState to hook w React, który służy do zarządzania stanem komponentów, ale nie każda wartość powinna być w nim przechowywana.

Udostępnij

Co to jest useState?

useState to jeden z podstawowych hooków w React, który pozwala na przechowywanie wartości stanu w komponentach funkcyjnych. Umożliwia on tworzenie lokalnego stanu, który wywołuje ponowne renderowanie komponentu w przypadku zmiany. Mimo że jego użycie jest powszechne, wiele osób stosuje go niepoprawnie, co prowadzi do nieefektywności i trudności w utrzymaniu kodu.

Kiedy nie używać useState?

W praktyce, wiele wartości, które są trzymane w useState, nie powinny się w nim znajdować. Przykładem mogą być wartości pochodne, takie jak filteredItems, które można obliczyć na podstawie innej wartości stanu, jak items. Zamiast tego, można użyć hooka useMemo, aby uniknąć redundancji i zminimalizować ryzyko rozbieżności w źródłach prawdy.

Innym przypadkiem są wartości, które są jedynie odczytywane w funkcjach obsługi zdarzeń. Jeżeli dana wartość nie wpływa na renderowanie komponentu, nie ma potrzeby, aby zmiana jej wartości wywoływała ponowne renderowanie. Zamiast tego, warto rozważyć użycie useRef, aby przechować tę wartość bez zbędnego narzutu wydajnościowego.

Jakie są lepsze alternatywy?

W wielu sytuacjach, zwłaszcza w przypadku pól formularzy, nie ma potrzeby, aby każda zmiana wywoływała ponowne renderowanie. Użycie niekontrolowanych komponentów lub odczyt danych formularza po wysłaniu pozwala na oszczędzenie zasobów i uproszczenie logiki komponentu. Kluczowym pytaniem, które warto zadać przed użyciem useState, jest: "Czy zmiana tej wartości wymaga zmiany w wyświetlanej zawartości?" Jeśli nie, lepiej poszukać alternatywy.

React renderuje szybko, ale nie za darmo. Najłatwiejsze wygrane wydajnościowe nie wynikają z memoizacji drogich renderów, lecz z unikania renderowania, gdy nie jest to konieczne.

W skrócie

Warto wiedzieć

Programiści React, zwłaszcza nowi w tej technologii, mogą poprawić wydajność swoich aplikacji. Ograniczenie użycia useState do faktycznie potrzebnych wartości zmniejsza złożoność kodu i eliminuje zbędne renderowania.

Powiązane