useState w React

useState to najbardziej podstawowy i najważniejszy hook w React, który pozwala nam zarządzać stanem poprzez posiadanie zmiennych stanu w komponencie funkcjonalnym .

Zanim zagłębimy się w temat hooków useState, najpierw zapoznajmy się z podstawami hooków i kilkoma problemami, które będą stosowane do prawie wszystkich hooków, a nie tylko do useState.

Czym więc jest hak? Jak sama nazwa wskazuje, hook to specjalna funkcja, która pozwala „zahaczyć się” o funkcje React. Kiedy piszemy jakiś komponent funkcyjny i potrzebujemy dodać lub zmodyfikować jakiś stan, możemy po prostu użyć hooków (wcześniej musieliśmy przekonwertować na komponent klasy i użyć this.state ). Więc w zasadzie hooki nie działają wewnątrz klas, raczej używamy ich zamiast pisać klasy. Kilka zasad, o których należy pamiętać podczas pisania hooków:

  1. Hooki są zawsze zapisywane wewnątrz komponentu funkcjonalnego.
  2. Hooki muszą być wywoływane w dokładnie tej samej kolejności w każdym renderowaniu komponentu.

Porozmawiajmy teraz o haczyku useState i sposobach jego użycia.

Deklarowanie stanu użycia

Najpierw musimy zaimportować useState w ten sposób.

useState to nazwany eksport z reakcji, więc możemy również napisać React.useState

Tworzenie stanu początkowego

useState jest po prostu funkcją przekazaną ze swoim początkowym stanem domyślnym jako argumentem i zwraca tablicę z dwoma wpisami. Pierwszy wpis w tablicy to aktualny stan, a drugi to metoda(funkcja), która pozwala nam zaktualizować stan.

Aby łatwo rozbić tablicę, która jest zwracana z useState, używamy takiej destrukturyzacji.

Destrukturyzacja tablicy; state to aktualny stan zainicjowany z 0, podczas gdy setState pozwala nam zaktualizować stan.
Używanie obiektu jako zmiennej stanu z hakiem useState. Pamiętaj jednak, że podczas pisania/aktualizacji stanu musimy w tym przypadku użyć operatora kropki

Mogliśmy przekazać obiekt jako argument do useState, ale ponieważ możemy używać wielu useState w naszych komponentach funkcyjnych, znacznie częściej stosuje się indywidualny hook useState dla każdego elementu stanu.

Aktualizuję stan

Drugim elementem zwracanym przez useState jest funkcja, która pobiera nową wartość w celu aktualizacji zmiennej state.

Oto przykład, który używa przycisku do aktualizacji stanu (liczby) przy każdym kliknięciu: ( Spróbuj tutaj )

Mogliśmy przekazać onClick={increment} i zadeklarować funkcję na górze, nawet to jest w porządku

Używając prevState do aktualizacji stanu, przekazujemy funkcję, która otrzymuje poprzednią wartość i zwraca nową. Ale możesz pomyśleć, że mogliśmy przekazać stan bezpośrednio, aby zaktualizować stan. W tym przykładzie nie spowodowałoby to dużej różnicy, ale jest to zły sposób aktualizowania stanu. Dlatego:

( Spróbuj tutaj )

To pokaże prawidłowe wyjście (takie samo jak poprzednie)
Czy spodziewasz się, że licznik zwiększy licznik 3 razy za jednym kliknięciem? Nie będzie!

Dzieje się tak, ponieważ nasza wartość count jest po prostu wartością count podczas renderowania naszej funkcji. Zawsze pokaże 1, ponieważ ustawiliśmy domyślną wartość 0. Zasadniczo zastępują się nawzajem.

Ale to zwiększyłoby licznik 3 razy za jednym kliknięciem!

Druga wersja naszej funkcji set pozwala nam przekazać funkcję, która przyjmuje poprzednią wartość. Więc za każdym razem, gdy renderuje, poprzednia wartość jest przekazywana i zwiększa licznik 3 razy.

Funkcja Wersja useState

useState może również przyjąć funkcję jako argument zamiast wartości, a ta funkcja zostanie uruchomiona tylko podczas pierwszego renderowania komponentu.

Ustawiłoby to domyślną wartość na 100.
Funkcja będzie działać za każdym razem, gdy nasz komponent zostanie wyrenderowany.

Wniosek

useState to hook (funkcja), który pozwala na posiadanie zmiennych stanu w komponentach funkcjonalnych. Przekazujesz stan początkowy do tej funkcji, a zwraca ona zmienną z aktualną wartością stanu (niekoniecznie stanem początkowym) oraz inną funkcję aktualizującą tę wartość. Tylko kilka punktów, o których należy pamiętać, dobrze jest zacząć od useState.

Suggested posts

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Wstęp Udar to nagły przypadek medyczny, który może dotknąć każdego w dowolnym momencie. Występuje, gdy przepływ krwi do części mózgu zostaje zakłócony, co prowadzi do nagłej utraty funkcji mózgu.

Jest — potężny framework do testowania JavaScript

Jest — potężny framework do testowania JavaScript

Testowanie jest istotną częścią tworzenia oprogramowania. Zapewnia, że ​​kod jest niezawodny, działa zgodnie z oczekiwaniami i zmniejsza prawdopodobieństwo błędów.

Related posts

3 sprawdzone sposoby na poprawę umiejętności pisania

Korzyści płynące z pisania i strategie, które Ci w tym pomogą

3 sprawdzone sposoby na poprawę umiejętności pisania

W 2022 roku, wraz z wydaniem GPT-3, umiejętność pisania wydaje się tracić na znaczeniu. Dzięki sztucznej inteligencji osoby o słabym pisaniu mogą również generować wysokiej jakości personel.

Powolna erozja: ujawnianie sposobów, w jakie ludzie marnują swoje kariery

Powolna erozja: ujawnianie sposobów, w jakie ludzie marnują swoje kariery

W dzisiejszym dynamicznym i konkurencyjnym świecie kariera odgrywa znaczącą rolę w rozwoju osobistym, stabilności finansowej i ogólnej satysfakcji z życia. Jednak wiele osób wpada w nieustający cykl stagnacji i niezadowolenia, stopniowo marnując swoje życie zawodowe.

Finansowanie usuwania dwutlenku węgla w RO24

Podział wniosków o środki Carbon180 na różne ścieżki

Finansowanie usuwania dwutlenku węgla w RO24

Autor: Alyson Lee, doradca zarządzający ds. spraw rządowych Coroczny proces przyznawania środków przez rząd federalny ma kluczowe znaczenie dla naszych wysiłków na rzecz sfinansowania usuwania dwutlenku węgla (CDR). Każdego roku Carbon180 przesyła prośby do różnych biur kongresowych, aby pomóc wskazać, gdzie będą płynąć dolary w przyszłym roku.

Archiwum tego zagrożenia: tom 7 Black Basta

Archiwum tego zagrożenia: tom 7 Black Basta

W dzisiejszym połączonym świecie zagrożenie cyberatakami jest bardziej powszechne niż kiedykolwiek. Cyberprzestępcy i podmioty państwowe nieustannie starają się wykorzystywać luki w zabezpieczeniach i kraść cenne dane, stanowiąc poważne zagrożenie dla organizacji każdej wielkości.