Stan Javascript

| | | | | | | | |

Czy słyszałeś kiedyś o State w bibliotece React JavaScript, ale nie wiesz, jak go używać? Stan odnosi się do „sposób, w jaki każdy obiekt pojawia się na stronie internetowej”. „Koncepcja jest prosta – jest to zbiór danych o aktualnym stanie podzespołu, który można zmienić, modyfikując opisane dane. Za każdym razem, gdy dane ulegną zmianie, jest on ponownie wyświetlany na ekranie komputera. Najtrudniejsza część stanu wie, jak i kiedy go używać. Ale nie martw się, ponieważ ten samouczek wyjaśnia, w jaki sposób jest używany stan.

Aby dać ci szybki przegląd, aby ustawić stan początkowy, użyj this.state w konstruktorze JavaScript. Aby zaktualizować stan, użyj metody setState. Porozmawiamy więcej o stanie i sposobach użycia stanu w tym samouczku.

Co to jest React State?

React state to obiekt z zestawem właściwości przeznaczonych dla komponentu, co pomaga w sposobie renderowania komponentu. Komponent z state jest nazywany stateful. Zwykle używasz, jeśli komponent musi śledzić informacje o nim między markami.

Przykładem może być komponent przycisku „Lubię to”, który musi śledzić liczbę Wiele razy klika. Powinno to pojawiać się ponownie na ekranie za każdym razem, gdy zostanie naciśnięty przycisk, tak jakby wyświetlał zaktualizowaną liczbę polubień. W tym celu musimy upewnić się, że element podobny do przycisku podąża za informacją, zamiast powtarzać informacje, które zakodowaliśmy w kółko. W końcu nie chcesz przegapić tych ludzi.

Do danych stanu komponentu można uzyskać dostęp za pośrednictwem this.state i edytować za pomocą .setState< /kod> metoda. Stan jest prywatny, ponieważ nie może go zmienić komponent, który zawiera stan

Wiele osób myli stan z akcesoriami, kolejnym obiektem reakcji, ale są ważne różnice między nimi. Jednym z nich jest to, że stan jest dynamiczny, co oznacza, że zawarte w nim dane mogą się zmieniać, a tym samym wpływać na zachowanie komponentu. Z drugiej strony rekwizyty są niezmienne, co oznacza, że „jego stan nie może się zmienić po zbudowaniu”.

Składnia React State

stan jest początkowo zdefiniowany w funkcji o nazwie konstruktor. stan może się zmienić, chcemy Cię zapewnić, że istnieje początkowa wartość bieżąca. Ogólny format ustawiania statusu to:

Na przykład , jeśli tworzysz komponent licznika czasu , powinieneś ustawić stan początkowy jako this.state = {0} sekund:. Wiesz, że licznik czasu zmieni swój stan co sekundę, ale musi zacząć odliczanie gdzieś. Komponent, w którym kodujesz, nazywa się „this”. Ta instrukcja zmienia stan komponentu, ustawiając jeden z jego atrybutów („sekundy”) tak, aby był równy wybranej wartości (w tym przypadku „0”) na zestaw.

Oto komponent o nazwie „osoba” rekord próbki. Do obiektu stanu w komponencie dodamy cztery wartości „Ęã” – imię, zawód, włosy i wiek:

// import podstawowych instrukcji React

// komponenty, które nazwaliśmy "Person", z właściwościami stanu zdefiniowanego w konstruktorze:

// Funkcja renderowania, która definiuje, co będzie wyświetlane na ekranie:

osoba

); }} ReactDOM.render (, document.getElementById (`root`));

Ostatnia linia wskazuje, że kod przejdzie przez twój dokument HTML i poszuka elementu, który ma identyfikator „root” i zrobi to, co kazałeś mu zrobić w renderowaniu () metoda powyżej. Dlatego powinieneś dodać następujące elementy do treści dokumentu pliku index.html:

Ten tag HTML ma cały atrybut ID w "root". Tutaj trafi wszystko, o co prosiłeś komponent o renderowanie.

Możesz odwołać się do obiektu stanu, wpisując this.state.attributeName. Spowoduje to zastąpienie „attributename” zdefiniowanymi atrybutami.

Oto przykład wykorzystujący zdefiniowane wcześniej właściwości do utworzenia stanu naszego komponentu „Person” . Użyjemy formularza {} this.state.attribute do wywołania wartości atrybutu komponentu, w którym piszemy nasz kod.

W tym przypadku skopiujemy następującą metodę do naszego komponentu „osoba”, który będzie to, do czego odnosi się „tamto”. Ekran wyświetla wartość należącą do atrybutu, który napisaliśmy. Zastąp deklarację render() naszego komponentu „Osoba” w ostatnim przykładzie następującą:

{this.state.name}

{{this.state.name} to that.state.occupation} a to {} this.state.age years Obecnie jej włosy to {this.state.hair}

) .. }

Ekran wyświetla nagłówek z wartością atrybut „imię”, którym jest Tom Hiddleston. Poniżej znajduje się akapit, w którym stwierdza się: „Tom Hiddleston jest aktorem i ma 40 lat”. Jej włosy są czarne. "

.setState() używa this.setState() do aktualizacji wartości obiektu statusu. Ta metoda przyjmuje jeden argument, który być nowym atrybutem i jego wartością: {attribute: "nowa wartość" }. służą do tego metody, ponieważ React wywoła metodę render za kulisami, dzięki czemu nowa treść będzie zawsze wyświetlana.

Oto przykład użycia naszego komponentu "osoba" z poprzedniego. Dodaj następujący kod do komponentu kodu "osoba", który widzieliśmy na początku artykułu.

  1. Dodaj funkcja zmiany zajętości na "osobę" w klasie ciała. Ta funkcja wywoła metodę .setState. zapisany tutaj atrybut jest atrybutem zajętości i wpisujemy wartość, którą chcemy zmienić. przypomnienie "osoba " kod komponentu, którym aktualnie jest praca
    zadanie = () => {this.setState ({zawód "model"});} "aktor".
  2. Wstaw następujący kod klawisza w głównej metodzie .render() a>

    wiele .setState () nie są przetwarzane w kolejności, więc może to oznaczać więcej o tych - konflikt, o którym powinieneś wiedzieć . Jest to ważne, ponieważ Twój kod się kończy duże i jest więcej linii i więcej zapisanych stanów Reacta, musisz pomyśleć o tym, jak one ze sobą współpracują. Może to być trudne do zrobienia, zwłaszcza gdy React ma charakter asynchroniczny, gdzie nie możesz przewidzieć, kto kontroluje twoje metody setstate do przetworzenia.

    Czy musisz używać stanu?

    Odpowiedź jest prosta: nie, nie powinieneś. Istnieją dwa główne typy komponentów: komponenty React funkcjonalne i klasa komponenty Komponenty bezstanowe są komponentami funkcjonalnymi Przez pomyłkę nie było stanu w komponencie - musisz go utworzyć samodzielnie

    Jednak aplikacja bezstanowa nie będzie zbyt interaktywna.. Nawet jeśli zdecydujesz się na ustawienie pracy państwowej, wskazane jest, aby nie być nadgorliwym w jej używaniu, ponieważ nadmierne użycie stanu w komponentach może utrudniają przewidywanie możliwych konfliktów ze względu na złożoność.

    Wnioski

    Stan i Rekwizyty to dwa ważne obiekty, o których należy pamiętać podczas korzystania z React. Stan śledzi bieżący stan komponentu, który zmienia się na podstawie zaktualizowanych danych definiujących stan. Z drugiej strony akcesoria się nie zmieniają. Prostą zasadą, której można użyć, jest pytanie: „Czy atrybuty tego komponentu ulegają zmianie w dowolnym momencie?” „. Jeśli odpowiedź brzmi „tak”, chcesz użyć kategorii statusu, ponieważ Rekwizyty są niezmienne.

    Zanim w pełni zanurzysz się w React , upewnij się, że znasz JavaScript ES6, podobnie jak React WSZECHSTRONNY jego funkcji, takich jak funkcje kierunkowe, klasy i typy zmiennych. Ponadto wprowadzono zmiany w React używaj, co dotyczy stanu i innych funkcji bez konieczności pisania klasy w ostatnim dniu wydania React, haki reakcyjne .

    Stan Javascript __del__: Questions

    Stan Javascript __dict__: Questions

    Shop

    Best Python online courses for 2022

    $

    Best laptop for Fortnite

    $

    Best laptop for Excel

    $

    Best laptop for Solidworks

    $

    Best laptop for Roblox

    $

    Best computer for crypto mining

    $

    Best laptop for Sims 4

    $

    Best laptop for Zoom

    $499

    Latest questions

    NUMPYNUMPY

    psycopg2: insert multiple rows with one query

    12 answers

    NUMPYNUMPY

    How to convert Nonetype to int or string?

    12 answers

    NUMPYNUMPY

    How to specify multiple return types using type-hints

    12 answers

    NUMPYNUMPY

    Javascript Error: IPython is not defined in JupyterLab

    12 answers

    Wiki

    Python OpenCV | cv2.putText () method

    numpy.arctan2 () in Python

    Python | os.path.realpath () method

    Python OpenCV | cv2.circle () method

    Python OpenCV cv2.cvtColor () method

    Python - Move item to the end of the list

    time.perf_counter () function in Python

    Check if one list is a subset of another in Python

    Python os.path.join () method