Heim > Artikel > Web-Frontend > Ist React ein MVVM-Framework?
react ist kein MVVM-Framework. Das MVVM-Framework benötigt ein VM-Objekt, um die Ansicht abzubilden. Das heißt, wenn sich die Eigenschaften des VM-Objekts ändern, wird der entsprechende Ansichtsteil entsprechend aktualisiert, während in der Reaktion kein VM-Objekt vorhanden ist Das Ganze kann als Ansicht verwendet werden. React ist also kein MVVM-Framework.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 17.0.1, Dell G3-Computer.
React ist kein MVVM-Framework
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 Eigenschaften 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.
Dann schauen wir uns React an. Es hat kein VM-Objekt im eigentlichen Sinne, es hat nur Attribute und Zustände.
React kann als zweites V in MVVM verwendet werden, bei dem es sich um View handelt, es handelt sich jedoch nicht um ein MVVM-Framework.
Eines der wichtigsten Merkmale von MVVM: Zwei-Wege-Bindung.
React hat das nicht, es ist eine einseitige Datenbindung.
React ist eine Bibliothek für unidirektionalen Datenfluss und zustandsgesteuerte Ansichten.
React als Ganzes basiert auf funktionalem Denken und wird als reine Komponente konzipiert. Daher wird in React ein unidirektionaler Datenfluss empfohlen Erreichen Sie Datenunveränderlichkeit.
Dann schauen wir uns React an. Es hat kein VM-Objekt im eigentlichen Sinne, es hat nur Attribute und Zustände. Verwenden Sie Eigenschaften 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.
Empfohlenes Lernen: „Video-Tutorial reagieren“
Das obige ist der detaillierte Inhalt vonIst React ein MVVM-Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!