CommunityCodierung & Entwicklunggithub.com

lobehub/zustand

LobeHub Zustand Store-Konventionen. Verwenden beim Bearbeiten von src/store, Store-Slices, öffentlichen/internen Aktionen, Dispatch-Aktionen, flattenActions, optimistischen Updates, Selektoren, Maps oder der Migration von Klassenaktionen.

Was ist zustand?

Diese Skill-Definition bietet eine umfassende Anleitung zur Verwendung von Zustand als State-Management-Lösung im LobeHub-Kontext. Sie definiert klare Konventionen für die Strukturierung von Stores, einschließlich Slices, öffentlichen und internen Aktionen. Der Skill unterstützt optimistische Updates und Flatten-Aktionen, was die Entwicklung von reaktiven und performanten Benutzeroberflächen erleichtert. Er ist auf verschiedene AI-Agent-Plattformen wie Claude Code, Cursor und Codex anwendbar und hilft Entwicklern, konsistente Zustandsmuster zu implementieren.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lobehub/lobe-chat/tree/main/skills/zustand

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht zustand?

LobeHub Zustand Store-Konventionen. Verwenden beim Bearbeiten von src/store, Store-Slices, öffentlichen/internen Aktionen, Dispatch-Aktionen, flattenActions, optimistischen Updates, Selektoren, Maps oder der Migration von Klassenaktionen.

Übersicht

Dieses Dokument beschreibt die empfohlenen Konventionen für die Verwendung von Zustand im LobeHub-Projekt. Ziel ist es, einen konsistenten und wartbaren Ansatz für das State-Management zu gewährleisten.

Kernkonzepte

Store-Struktur

  • Slices: Unterteile den Store in logische Slices, um die Code-Organisation zu verbessern.
  • Öffentliche Aktionen: Aktionen, die von Komponenten aufgerufen werden können.
  • Interne Aktionen: Aktionen, die nur innerhalb des Stores verwendet werden.

Dispatch-Funktion

  • Verwende dispatch für asynchrone Aktionen.
  • flattenActions hilft, verschachtelte Aktionen zu glätten.

Optimistische Updates

  • Führe optimistische Updates durch, um die Benutzererfahrung zu verbessern.
  • Stelle sicher, dass Fehler korrekt behandelt werden.

Selektoren

  • Verwende benannte Selektoren, um die Wiederverwendbarkeit zu erhöhen.
  • Halte Selektoren klein und fokussiert.

Verwendung

import { create } from 'zustand';

const useStore = create((set, get) => ({
  // Zustand
  items: [],
  // Aktionen
  addItem: (item) => set((state) => ({ items: [...state.items, item] })),
}));

Migration von Klassenaktionen

  • Ersetze Klassen durch Funktionen.
  • Verwende useStore anstelle von Klasseninstanzen.

Weitere Informationen

Siehe Zustand Dokumentation für weitere Details.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Verwandte Skills