Component-Entwicklung
In NocoBase sind die in der Route eingebundenen Seitencomponents gewöhnliche React Components. Sie können diese direkt mit React + Antd schreiben — das unterscheidet sich nicht von gewöhnlicher Frontend-Entwicklung.
NocoBase stellt zusätzlich folgende Hilfsmittel bereit:
observable+observer— die empfohlene Art der Zustandsverwaltung, besser geeignet für das NocoBase-Ökosystem alsuseStateuseFlowContext()— Zugriff auf die Kontextfähigkeiten von NocoBase (Anfragen senden, Internationalisierung, Routennavigation usw.)
Grundlegende Schreibweise
Ein einfachstes Seitencomponent:
Nach dem Schreiben registrieren Sie es im load() des Plugins über this.router.add(). Details siehe Router.
Zustandsverwaltung: observable
NocoBase empfiehlt, statt Reacts useState observable + observer zur Zustandsverwaltung von Components zu verwenden. Vorteile:
- Direkte Änderungen an Objekteigenschaften lösen Aktualisierungen aus, kein
setStatenötig - Automatische Abhängigkeitsverfolgung, das Component rendert nur dann erneut, wenn tatsächlich verwendete Eigenschaften sich ändern
- Konsistent mit dem Reaktivitätsmechanismus der NocoBase-Basis (FlowModel, FlowContext usw.)
Grundlegende Verwendung: Erstellen Sie ein reaktives Objekt mit observable.deep() und umhüllen Sie das Component mit observer(). Sowohl observable als auch observer werden aus @nocobase/flow-engine importiert:
Live-Vorschau:
Mehr zur Verwendung siehe Reaktivitätsmechanismus Observable.
useFlowContext verwenden
useFlowContext() ist der Einstiegspunkt zu den NocoBase-Fähigkeiten. Es wird aus @nocobase/flow-engine importiert und gibt ein ctx-Objekt zurück:
Im Folgenden Beispiele für häufig verwendete Fähigkeiten.
Anfragen senden
Über ctx.api.request() rufen Sie Backend-Schnittstellen auf, die Verwendung entspricht Axios:
Internationalisierung
Über ctx.t() erhalten Sie übersetzte Texte:
Routennavigation
Über ctx.router.navigate() zu einer anderen Seite navigieren:
Aktuelle Routenparameter abrufen:
Aktuellen Routennamen abrufen:
Mehr zu Log-Levels und Verwendung siehe Context → Häufige Fähigkeiten.
Vollständiges Beispiel
Eine Seite, die observable, useFlowContext und Antd kombiniert und Daten vom Backend abruft und anzeigt:
Wie geht es weiter
- Vollständige Fähigkeiten von
useFlowContext— siehe Context - Component-Styles und Theme-Anpassung — siehe Styles & Themes
- Wenn Ihr Component im Menü „Block / Feld / Aktion hinzufügen" von NocoBase erscheinen und vom Benutzer visuell konfigurierbar sein muss, verpacken Sie es mit einem FlowModel — siehe FlowEngine
- Unsicher, ob Component oder FlowModel verwenden? — siehe Component vs FlowModel
Verwandte Links
- Router — Seitenrouten registrieren, Components an URLs binden
- Context — Vollständige Vorstellung der Fähigkeiten von useFlowContext
- Styles & Themes — createStyles, Theme-Tokens usw.
- FlowEngine — Bei visueller Konfiguration mit FlowModel arbeiten
- Reaktivitätsmechanismus Observable — Reaktive Zustandsverwaltung des FlowEngine
- Context → Häufige Fähigkeiten — eingebaute Fähigkeiten wie ctx.api, ctx.t
- Component vs FlowModel — Component oder FlowModel wählen

