Heim > Web-Frontend > js-Tutorial > Zustand: Einfache, schnelle und skalierbare Zustandsverwaltung für React

Zustand: Einfache, schnelle und skalierbare Zustandsverwaltung für React

Susan Sarandon
Freigeben: 2024-12-19 08:38:09
Original
517 Leute haben es durchsucht

Zustand: Simple, Fast, and Scalable State Management for React

Zustand: Eine kleine, schnelle und skalierbare Zustandsverwaltungslösung für React

Zustand ist eine minimalistische, schnelle und skalierbare Zustandsverwaltungsbibliothek für React. Ziel ist es, eine einfache, unkomplizierte Lösung für die Staatsverwaltung mit Schwerpunkt auf Leistung und Skalierbarkeit anzubieten. Zustand erstellt Speicher, die den Status verwalten, und bietet einfache Hooks für den Zugriff und die Aktualisierung des Status.

Der Name der Bibliothek, Zustand, kommt vom deutschen Wort für „Zustand“ und soll die Arbeit mit dem Zustand in React sowohl intuitiv als auch leistungsstark machen. Zustand zeichnet sich durch seine Einfachheit und Flexibilität aus und ist daher eine hervorragende Wahl für die Verwaltung sowohl des lokalen als auch des globalen Status in React-Anwendungen.


1. Was ist Zustand?

Zustand ist eine kleine, eigensinnige und reaktive Zustandsverwaltungsbibliothek für React-Anwendungen. Es bietet einen flexiblen Speicher mit Haken, mit denen Sie problemlos auf den Status zugreifen und ihn ändern können. Zustand ist nicht an eine bestimmte Architektur gebunden, was bedeutet, dass Sie damit den Zustand global oder lokal verwalten können, ohne unnötige Komplexität einzuführen.

Hauptmerkmale des Zustands:

  • Minimalistische API: Zustand verfügt über eine einfache API mit sehr wenigen Codezeilen.
  • Kein Boilerplate: Im Gegensatz zu Redux erfordert Zustand keine Aktionen oder Reduzierungen, um zu funktionieren, und es ist keine zusätzliche Einrichtung erforderlich.
  • Storebasiert: Zustand nutzt Stores, um den Anwendungsstatus zu verwalten, was die Organisation und Skalierung erleichtert.
  • Reaktionsfreundlich: Zustand lässt sich reibungslos in React integrieren und nutzt Hooks und die Kontext-API.

2. Kernkonzepte des Zustands

1. Speichern

Ein Store in Zustand ist einfach ein Objekt, das den Status der Anwendung speichert. Es kann mit der von „Zustand“ bereitgestellten Erstellungsfunktion definiert werden, und Sie können Methoden zur Manipulation des Zustands einschließen.

Beispiel:

import create from 'zustand';

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}));
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • Der useStore-Hook ist der Store, der mit der Create-Funktion von Zustand erstellt wurde. Der Status wird in count gespeichert und Aktionen wie Inkrementieren und Dekrementieren ändern den Status.

2. Zugriffsstatus

Sobald Sie einen Store erstellt haben, können Sie den useStore-Hook in Ihren React-Komponenten verwenden, um den Status zu lesen und zu ändern.

Beispiel:

import create from 'zustand';

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}));
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
  • Der useStore-Hook ermöglicht Ihnen Zugriff auf den Status und die in Ihrem Shop definierten Aktionen. Sie können den Zustand und die von Ihnen benötigten Aktionen zerlegen und direkt in Ihrer Komponente verwenden.

3. Status wird aktualisiert

Um den Status zu aktualisieren, verwenden Sie die im Store bereitgestellte Set-Methode. Die Set-Methode übernimmt eine Funktion, die den aktuellen Status abruft und einen neuen Status zurückgibt. Der Zustand löst automatisch erneute Renderings für Komponenten aus, die den geänderten Zustand verwenden.

Beispiel:

import React from 'react';
import { useStore } from './store';

const Counter = () => {
  const { count, increment, decrement } = useStore();

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
    </div>
  );
};

export default Counter;
Nach dem Login kopieren
Nach dem Login kopieren
  • Die Inkrementierungsmethode verwendet die Set-Funktion, um den Zählstatus zu aktualisieren, indem der aktuelle Wert erhöht wird.

3. Vorteile von Zustand

1. Einfach und minimalistisch

Zustand ist leichtgewichtig und verfügt über eine sehr einfache API, was den Einstieg in jede React-Anwendung unglaublich einfach macht. Das Fehlen von Boilerplate-Code, Reduzierern oder Aktionstypen macht es zu einer großartigen Alternative für die Statusverwaltung in React ohne die Komplexität, die in anderen Bibliotheken wie Redux zu finden ist.

2. Skalierbar

Zustand lässt sich problemlos für komplexe Anwendungen skalieren. Es unterstützt sowohl die lokale Statusverwaltung (für einzelne Komponenten) als auch die globale Statusverwaltung in Ihrer gesamten Anwendung. Zustand ist für die Handhabung großer, skalierbarer Anwendungen mit minimalem Overhead konzipiert.

3. Leistungsoptimiert

Zustand nutzt die integrierten Hooks und den Kontext von React, um Statusänderungen effizient zu abonnieren und nur die Komponenten zu aktualisieren, die erneut gerendert werden müssen. Dies gewährleistet eine hervorragende Leistung auch bei größeren Anwendungen.

4. TypeScript-Unterstützung

Zustand verfügt über eine hervorragende TypeScript-Unterstützung und bietet sofort typsichere Stores und Hooks.

5. Kein Anbieter erforderlich

Im Gegensatz zu einigen Zustandsverwaltungsbibliotheken erfordert Zustand keinen Anbieter, der um Ihre Anwendung gewickelt wird. Der Status ist direkt über Hooks zugänglich, sodass er ohne zusätzliche Einrichtung einfach zu verwenden ist.

6. Flexibel und unvoreingenommen

Zustand erzwingt keine Muster oder Einschränkungen. Sie können Ihren Bundesstaat nach Belieben strukturieren und Zustand als lokalen Store oder globalen State-Manager nutzen. Es gibt Ihnen die volle Flexibilität, den Status Ihrer Anwendung so zu organisieren, wie es für Sie am besten funktioniert.


4. Zustand mit React integrieren

Die Integration von Zustand in eine React-Anwendung ist unglaublich einfach. Hier ist eine Schritt-für-Schritt-Anleitung zum Einrichten von Zustand in einer React-App:

Schritt 1: Zustand installieren

Um Zustand zu installieren, führen Sie den folgenden Befehl aus:

import create from 'zustand';

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}));
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 2: Erstellen Sie einen Shop

Erstellen Sie einen Speicher, der Ihren Anwendungsstatus und Ihre Aktionen speichert. Hier ist ein Beispiel für einen einfachen Thekenladen:

import React from 'react';
import { useStore } from './store';

const Counter = () => {
  const { count, increment, decrement } = useStore();

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
    </div>
  );
};

export default Counter;
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 3: Verwenden Sie den Store in Components

Nachdem Sie den Store erstellt haben, können Sie mithilfe des useStore-Hooks auf den Status und die Aktionen in Ihren React-Komponenten zugreifen.

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
}));
Nach dem Login kopieren
  • In diesem Beispiel wird useStore verwendet, um auf die aktuelle Zählung und die Methoden zum Ändern der Zählung (Inkrementieren und Dekrementieren) zuzugreifen.

Schritt 4: Verwenden Sie die Komponente in Ihrer App

Schließlich können Sie die Counter-Komponente in Ihrer App rendern.

npm install zustand
Nach dem Login kopieren

5. Erweiterte Funktionen von Zustand

1. Anhaltender Zustand

Zustand stellt eine Middleware bereit, um den Status in localStorage, sessionStorage oder anderen Speichermechanismen beizubehalten.

Beispiel:

import create from 'zustand';

const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  decrement: () => set((state) => ({ count: state.count - 1 })),
}));

export default useStore;
Nach dem Login kopieren
  • Diese Middleware speichert den Zählstatus im localStorage, sodass der Status auch nach einem Neuladen der Seite beibehalten wird.

2. Mehrere Geschäfte kombinieren

Zustand ermöglicht Ihnen die Kombination mehrerer Filialen, wenn Sie Anliegen trennen oder verschiedene Statusbereiche verwalten möchten.

Beispiel:

import React from 'react';
import useStore from './store';

const Counter = () => {
  const { count, increment, decrement } = useStore();

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
    </div>
  );
};

export default Counter;
Nach dem Login kopieren
  • Hier haben wir zwei unabhängige Speicher für Benutzer- und Produktdaten. Sie können sie unabhängig in Ihren Komponenten importieren und verwenden.

6. Fazit

Zustand bietet eine minimalistische, flexible und leistungsstarke Lösung für die Statusverwaltung in React-Anwendungen. Seine Einfachheit und Skalierbarkeit machen es zu einer hervorragenden Wahl sowohl für kleine als auch große React-Apps. Durch die Verwendung von Hooks und reaktiven Mustern ermöglicht Zustand Entwicklern, sich auf die Erstellung ihrer Anwendungen zu konzentrieren, ohne sich um die Boilerplate anderer Zustandsverwaltungsbibliotheken kümmern zu müssen.

Ganz gleich, ob Sie eine kleine App oder eine große Anwendung erstellen, Zustand bietet eine einfache, effiziente und skalierbare Möglichkeit, den Status in React zu verwalten.


Das obige ist der detaillierte Inhalt vonZustand: Einfache, schnelle und skalierbare Zustandsverwaltung für React. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage