logologo
Start
Handbuch
Entwickler
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Handbuch
Entwickler
Plugins
API
logologo

Einführung

Was ist FlowEngine?
FlowEngine & Plugins
Schnellstart
Lernpfad

Leitfaden

FlowModel registrieren
FlowModel erstellen
FlowModel rendern
FlowModel: Event-Flow & Konfiguration
FlowModel-Persistenz
FlowModel-Lebenszyklus
FlowModel-Kontextsystem
Reaktivität: Observable
FlowModel vs. React.Component

Definitionen

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageFlowModel-Kontextsystem
Next PageFlowModel vs. React.Component
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#Reaktionsmechanismus: Observable

INFO

Der Observable-Reaktionsmechanismus von NocoBase entspricht im Grunde dem von MobX. Die aktuelle zugrunde liegende Implementierung verwendet @formily/reactive, dessen Syntax und Konzepte hochgradig kompatibel mit MobX sind. Es wurde aus historischen Gründen nicht direkt verwendet.

In NocoBase 2.0 sind reaktive Objekte vom Typ Observable allgegenwärtig. Es bildet den Kern des zugrunde liegenden Datenflusses und der UI-Reaktionsfähigkeit und wird in Komponenten wie FlowContext, FlowModel und FlowStep umfassend eingesetzt.

#Warum Observable?

NocoBase hat sich für Observable gegenüber anderen State-Management-Lösungen wie Redux, Recoil, Zustand und Jotai aus den folgenden Hauptgründen entschieden:

  • Extrem flexibel: Observable kann jedes Objekt, Array, jede Map, jedes Set usw. reaktiv machen. Es unterstützt von Natur aus tiefe Verschachtelungen und dynamische Strukturen, was es sehr gut für komplexe Geschäftsmodelle geeignet macht.
  • Nicht-invasiv: Sie können das ursprüngliche Objekt direkt manipulieren, ohne Aktionen, Reducer oder zusätzliche Stores definieren zu müssen, was ein hervorragendes Entwicklungserlebnis bietet.
  • Automatische Abhängigkeitsverfolgung: Indem Sie eine Komponente mit observer umschließen, verfolgt die Komponente automatisch die von ihr verwendeten Observable-Eigenschaften. Wenn sich die Daten ändern, wird die Benutzeroberfläche automatisch aktualisiert, ohne dass eine manuelle Abhängigkeitsverwaltung erforderlich ist.
  • Geeignet für Nicht-React-Szenarien: Der Observable-Reaktionsmechanismus ist nicht nur auf React anwendbar, sondern kann auch mit anderen Frameworks kombiniert werden, um ein breiteres Spektrum an reaktiven Datenanforderungen zu erfüllen.

#Warum observer verwenden?

observer lauscht auf Änderungen in Observable-Objekten und löst automatisch Aktualisierungen von React-Komponenten aus, wenn sich die Daten ändern. Dadurch bleibt Ihre Benutzeroberfläche mit Ihren Daten synchron, ohne dass Sie setState oder andere Aktualisierungsmethoden manuell aufrufen müssen.

#Grundlegende Verwendung

import React from 'react';
import { Input } from 'antd';
import { observer, observable } from '@nocobase/flow-engine';

const obs = observable.deep({
  value: 'aa'
});

const MyComponent = observer(() => {
  return (
    <div>
      <Input
        defaultValue={obs.value}
        onChange={(e) => {
          obs.value = e.target.value;
        }}
      />
      <div>{obs.value}</div>
    </div>
  );
});

export default MyComponent;

Für weitere Informationen zur reaktiven Nutzung lesen Sie bitte die Dokumentation von @formily/reactive.