Heim > Artikel > Web-Frontend > Warum React kein MVVM-Framework ist
Da React eine unidirektionale Datenbindung ist und das wichtigste Merkmal von MVVM die bidirektionale Datenbindung ist, erfordert das MVVM-Framework ein VM-Objekt, um die Ansicht abzubilden, React hat jedoch kein VM-Objekt im eigentlichen Sinne. Einige sind Attribute und Status, daher ist React kein MVVM-Framework.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 17.0.1, Dell G3-Computer.
MVVM
Verstehen Sie zunächst, was MVVM bedeutet. vm bedeutet Ansichtsmodus.
Das MVVM-Framework benötigt also ein VM-Objekt, um die Ansicht abzubilden.
Das heißt, wenn sich die Attribute des VM-Objekts ändern, wird der entsprechende Ansichtsteil entsprechend aktualisiert. Das klassischere ist KnockoutJS, bei dem die Schlüsselkonzepte Ansichtsmodell, Berechnung, Ansichtsvorlage usw. sind. Ja, es gibt tatsächlich viele seiner Schatten in Vue.
reagieren
Dann werfen wir einen Blick auf „reagieren“. Es hat kein VM-Objekt im eigentlichen Sinne, es hat nur Attribute und Zustände.
Verwenden Sie Attribute und Zustände, um Ansichten zuzuordnen. Was ist also der Unterschied zwischen Attributen und Zuständen und VM? Persönlich denke ich, dass das VM-Objekt gleich behandelt wird, unabhängig davon, ob der Wert von außen übergeben oder intern definiert wird. In vielen Fällen gibt es einen bidirektionalen Bindungsmechanismus. Vielleicht war der frühe Flex erstaunlich, aber das spätere MVVM-Framework verfügt über das Konzept der bidirektionalen Bindung. React hingegen legt Wert auf die Unveränderlichkeit von Attributen und den einseitigen Datenfluss. Der interne Zustand wird intern gesteuert.
Ein solches Design ist zwar gestalterisch aufwändiger, wird aber in der Anwendung sicherer und klarer. Wenn Sie mit React vertraut sind, können Sie durch die Verwaltung geeigneter Zustände für entsprechende Komponenten und die sinnvolle Schichtung von Zuständen die Anwendungskomplexität erheblich reduzieren. Dann verfügt Redux über ein sehr fortschrittliches Konzept namens Containerkomponenten und reine Anzeigekomponenten. Wenn Sie diese Designidee verstehen, können Sie komplexe Dinge auf eine kleine Anzahl von Komponenten konzentrieren, und die meisten Komponenten werden zu reinen Anzeigekomponenten, wodurch die Komplexität weiter reduziert wird des Antrags.
Eines der wichtigsten Merkmale von MVVM: die bidirektionale Bindung.
React hat das nicht, es ist eine einseitige Datenbindung.
React ist eine Bibliothek für unidirektionalen Datenfluss und zustandsgesteuerte Ansichten.
State --> View --> New State --> New View
Empfohlenes Lernen: „Video-Tutorial reagieren“
Das obige ist der detaillierte Inhalt vonWarum React kein MVVM-Framework ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!