Heim >Web-Frontend >Front-End-Fragen und Antworten >Hat React eine bidirektionale Bindung?
In React gibt es keine bidirektionale Bindung. Die Designidee von React ist ein einseitiger Datenfluss. Es gibt kein Konzept einer bidirektionalen Bindung Die übergeordnete Komponente wird über Requisiten mit der untergeordneten Komponente verbunden, was den Rendering-Anforderungen der Ansichtsebene entspricht und einfacher zu testen und zu steuern ist, sodass in React keine bidirektionale Bindung besteht.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Reaktionsversion 17.0.1, Dell G3-Computer.
React hat keine bidirektionale Bindung
Die Designidee von React ist ein einseitiger Datenfluss. Ich denke, wir können verstehen, warum es keine bidirektionalen Daten gibt Bindung wie folgt:
Erstens ist React eine reine Ansichtsebene.
Was sind dann die Anforderungen für die bidirektionale Datenbindung für React? Offensichtlich eine Geschäftsanforderung. Da der unidirektionale Datenfluss bereits die Anforderungen des View-Layer-Renderings erfüllt und einfacher zu testen und zu steuern ist (über Props oder State), warum besteht in reinem React ein Bedarf für eine bidirektionale Datenbindung?
Wenn Sie das Problem der bidirektionalen Datenbindung lösen müssen, können Sie Bibliotheken von Drittanbietern wie rc-form von Ant Design verwenden. Je nach Bedarf können Sie es auch in State oder sogar Redux speichern.
Das Fehlen einer bidirektionalen Datenbindung in React ist also kein Mangel an Funktionalität oder ein Konfliktproblem, sondern dass React sich nur auf die Lösung eines reinen Problems konzentriert: der View-Ebene.
Einseitiger Datenfluss
Einseitiger Datenfluss bedeutet, dass der Datenfluss nur über Requisiten von der übergeordneten Komponente an die untergeordnete Komponente weitergeleitet werden kann und Daten nicht von der untergeordneten Komponente an die übergeordnete Komponente übergeben werden können Um eine bidirektionale Datenbindung zu erreichen, kann nur die untergeordnete Komponente die von den Requisiten der übergeordneten Komponente übergebene Methode empfangen, um die Daten der übergeordneten Komponente zu ändern, anstatt die Daten der untergeordneten Komponente direkt an die übergeordnete Komponente zu übergeben.
Tatsächlich gibt es in React kein Konzept der bidirektionalen Bindung. Jedes Mal, wenn wir die Seite und den Wert aktualisieren, müssen wir die angegebene API aufrufen, um sie auszulösen. In Vue müssen wir nur die V-Modell-Anweisung verwenden um es vollständig zu realisieren In vue Die Anweisungen in werden tatsächlich mithilfe des syntaktischen Zuckers mehrerer Ereignisse implementiert.
Empfohlenes Lernen: „Video-Tutorial reagieren“
Das obige ist der detaillierte Inhalt vonHat React eine bidirektionale Bindung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!