Javascript-Zustand

| | | | | | | | |

Haben Sie schon einmal von State in der React-JavaScript-Bibliothek gehört, wissen aber nicht, wie man es benutzt? Status bezieht sich auf „die Art und Weise, wie jedes Objekt auf einer Webseite erscheint“. „Das Konzept ist einfach – es ist eine Sammlung von Daten über den aktuellen Zustand der Komponente, die durch Ändern der beschriebenen Daten geändert werden können. Immer wenn sich die Daten ändern, werden sie erneut auf dem Computerbildschirm angezeigt. Der schwierigste Teil des Zustands ist zu wissen, wie und wann es verwendet wird. Aber keine Sorge, denn dieses Tutorial erklärt, wie state verwendet wird.

Um Ihnen einen schnellen Überblick zu geben, verwenden Sie this.state, um den Anfangsstatus festzulegen in einem JavaScript-Konstruktor. Um den Zustand zu aktualisieren, verwenden Sie die setState-Methode. In diesem Tutorial werden wir mehr über den Zustand und die Verwendungsmöglichkeiten des Zustands sprechen.

Was ist React State?

React State ist ein Objekt mit einer Reihe von Eigenschaften, die für eine Komponente bestimmt sind, und dies hilft bei der Art und Weise, wie die Komponente gerendert wird. Eine Komponente mit state wird zustandsbehaftet genannt. Sie verwenden es normalerweise, wenn eine Komponente Informationen über sie zwischen Marken verfolgen muss.

Ein Beispiel wäre eine „Gefällt mir“-Schaltflächenkomponente, die die Zahl verfolgen muss oft macht es klick. Dies sollte jedes Mal auf dem Bildschirm erscheinen, wenn die Schaltfläche gedrückt wird, als ob die aktualisierte Anzahl von Likes angezeigt werden soll. Und dafür müssen wir sicherstellen, dass die schaltflächenähnliche Komponente den Informationen folgt, anstatt die Informationen, mit denen wir codiert haben, immer wieder zu wiederholen. Schließlich möchte man diese Leute nicht missen.

Die Zustandsdaten einer Komponente können über this.state abgerufen und mit der .setState< bearbeitet werden /code>-Methode. Der Status ist privat, weil er nicht von der Komponente geändert werden kann, die den Status enthält.

Viele Leute verwechseln den Status mit Zubehör, einem weiteren Objekt der Reaktion, aber es gibt wichtige Unterschiede zwischen den beiden. Einer davon ist, dass der Zustand dynamisch ist, was bedeutet, dass sich die darin enthaltenen Daten ändern und somit das Verhalten der Komponente beeinflussen können. Requisiten hingegen sind unveränderlich, was bedeutet, dass „ihr Zustand sich nicht ändern kann, nachdem sie erstellt wurden.“

React State Syntax

der Zustand wird zunächst in der Funktion namens Konstruktor definiert Status ändern kann, möchten wir Ihnen versichern, dass es einen anfänglichen aktuellen Wert gibt. Das allgemeine Format zum Setzen des Status ist:

Zum Beispiel , wenn Sie eine Timer-Komponente erstellen, sollten Sie den Startstatus auf this.state = {0} Sekunden: setzen. Sie wissen, dass ein Timer seinen Status jede Sekunde ändert, aber er muss mit dem Zählen beginnen irgendwo. Die Komponente, die Sie codieren, heißt "this". Diese Anweisung ändert den Zustand der Komponente, indem eines ihrer Attribute ("Sekunden") auf den von Ihnen gewählten Wert (in diesem Fall "0") gesetzt wird set.

Hier ist eine Komponente namens "Person"-Datensatz einer Stichprobe. Wir fügen vier Werte ‚Äã‚Äã- Name, Beruf, Haare und Alter - zum Zustandsobjekt in der Komponente hinzu:

// einfacher Import von React-Anweisungen

// Komponenten, die wir "Person" genannt haben, mit Eigenschaften des im Konstruktor definierten Zustands:

// Eine Renderfunktion, die definiert, was auf dem Bildschirm angezeigt wird:

person

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

Die letzte Zeile gibt an, dass der Code Ihr HTML-Dokument durchläuft und nach dem Element mit der ID "root" sucht und das tut, was Sie ihm im rendering angewiesen haben () Methode oben. Aus diesem Grund sollten Sie Folgendes zum Dokumentkörper Ihrer index.html-Datei hinzufügen:

Dieses HTML-Tag hat das gesamte ID-Attribut bei "root". Hier wird alles gespeichert, was Sie von der Komponente zum Rendern aufgefordert haben.

Sie können auf das Zustandsobjekt verweisen, indem Sie this.state.attributeName eingeben. Dadurch wird "attributename" durch die definierten Attribute ersetzt.

Hier ist ein Beispiel, das die zuvor definierten Eigenschaften verwendet, um den Status unserer "Person"-Komponente zu erstellen. Wir verwenden die Form {} this.state.attribute, um den Attributwert der Komponente aufzurufen, in der wir unseren Code schreiben.

In diesem Fall kopieren wir die folgende Methode in unsere "Person"-Komponente, die sein wird dies, dass "das" sich bezieht. Der Bildschirm zeigt den Wert an, der zu dem von uns geschriebenen Attribut gehört. Ersetzen Sie die Deklaration render () unserer "Person"-Komponente im letzten Beispiel durch diese:

{this.state.name}

{{this.state.name} is that. state.occupation} and it is {} this.state.age Jahre Derzeit ist ihr Haar {this.state.hair}

) .. }

Der Bildschirm zeigt eine Kopfzeile mit dem Wert von an "Name"-Attribut, das Tom Hiddleston ist. Darunter steht ein Absatz, in dem es heißt: „Tom Hiddleston ist ein Schauspieler und er ist 40 Jahre alt.“ Ihre Haare sind schwarz. "

Die

.setState () verwendet this.setState (), um die Werte eines Statusobjekts zu aktualisieren. Diese Methode nimmt ein Argument, das wird sei ein neues Attribut und sein Wert: {attribute: "new value" }. Methoden werden dazu verwendet, weil React die Render-Methode hinter den Kulissen aufruft, sodass dein neuer Inhalt immer angezeigt wird.

Hier ist ein Beispiel, das unsere "Person"-Komponente von vorher verwendet. Fügen Sie den folgenden Code zu der "Person"-Code-Komponente hinzu, die wir am Anfang des Artikels gesehen haben.

  1. Hinzufügen eine Besetzungsänderungsfunktion für „person“ in der Body-Klasse. Diese Funktion ruft die .setState-Methode auf. Das hier geschriebene Attribut ist das Belegungsattribut und wir schreiben den Wert, den wir ändern möchten. Erinnerung „person " Komponentencode dieser Job ist derzeit
    job = () => {this.setState ({occupation "model"});} "actor".
  2. Fügen Sie den folgenden Schlüsselcode in die .render ()-Hauptmethode a>

    mehrere .setState () werden nicht der Reihe nach verarbeitet, daher kann dies vorliegen mehr über diese - Konflikt, den Sie kennen sollten . Dies ist wichtig, da Ihr Code überwunden wird groß und es gibt mehr Zeilen und mehr von React geschriebene Zustände, Sie müssen darüber nachdenken, wie sie zusammenarbeiten. Dies kann schwierig sein, insbesondere wenn React von Natur aus asynchron ist, wo Sie nicht vorhersagen können, wer Ihre Setstate-Methoden steuert verarbeitet werden.

    Müssen Sie state verwenden?

    Die Antwort ist einfach: Nein, sollten Sie nicht. Es gibt zwei Haupttypen von Komponenten: React-Komponenten funktional und Klasse Komponenten. Zustandslose Komponenten sind funktionale Komponenten. Versehentlich gab es in einer Komponente keinen Zustand - Sie müssen ihn selbst erstellen

    Zustandslos wird Ihre Anwendung jedoch nicht sehr interaktiv sein. Auch wenn Sie sich für die Einstellung entscheiden state arbeiten, ist es ratsam, es nicht zu übereifrig zu verwenden, da eine übermäßige Verwendung von state in Komponenten dazu führen kann machen es aufgrund der Komplexität schwierig, mögliche Konflikte vorherzusagen.

    Schlussfolgerung

    State und Props sind zwei wichtige Objekte, die man bei der Verwendung von React im Auge behalten sollte. State verfolgt den aktuellen Status einer Komponente, wenn sie sich basierend auf aktualisierten Daten ändert, die einen Status definieren. Das Zubehör ändert sich hingegen nicht. Eine einfache Faustregel lautet: „Werden die Attribute dieser Komponente zu irgendeinem Zeitpunkt geändert?“ ". Wenn die Antwort "Ja" lautet, möchten Sie die Statuskategorie verwenden, da Requisiten unveränderlich sind.

    Bevor Sie vollständig in reagieren , stellen Sie sicher, dass Sie mit JavaScript ES6, wie React VIELSEITIG von seinen Funktionen, wie Richtungsfunktionen, Klassen und Variablentypen. Darüber hinaus wurden Änderungen an der Verwendung von React vorgenommen, was den Zustand und andere Funktionen betrifft, ohne dass eine Klasse in React am letzten Release-Tag geschrieben werden musste, Reaktionshaken .

    Shop

    Learn programming in R: courses

    $

    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

    $

    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