Ich war auf der Suche nach einer Antwort auf ein anderes Problem und ich fand diese Antwort (link) Ich bin nur neugierig, warum ist das Modifizieren seiner eigenen Requisiten ein Anti-Muster, und warum ist es nicht, dass Modifizierung seines eigenen Zustandes ist nicht und Anti-Muster?Warum lässt ein Anti-Pattern eine reaktive Komponente ihre eigenen Requisiten bearbeiten?
Antwort
In reagieren, Requisiten ein Objekt von Daten, die unwahrscheinlich ist im Lebenszyklus der Komponente zu ändern, und Zustand sind Daten, die wahrscheinlich ändern im Lebenszyklus des Bauteils ist.
Es hilft, explizite Regeln zu erstellen, wo Entwickler Sachen platzieren sollten, die tun/tun - nicht ändern.
Aktualisieren Sie Seiten sehr schnell, indem Sie genau wissen, dass Datenänderungen entweder streng von einem übergeordneten Element stammen (als Requisiten) oder intern als Status kommen.
die genaue Funktion überprüft, lose, wenn Staat/Requisiten sind die gleichen, dann https://github.com/facebook/react/blob/master/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js#L881-L883
ich über das Lesen empfehlen würde, wie „versöhnt“ Daten für Änderungen reagieren und Aktualisierungen der dom zu machen. https://facebook.github.io/react/docs/reconciliation.html
Um einen weiteren Punkt hinzuzufügen - React behandelt Requisiten als unveränderlich, so dass sie bestimmte oberflächliche Überprüfungsoptimierungen während des Rendierflusses durchführen und retten kann, wenn keine Arbeit zu erledigen ist. – probablyup
@yaycmyk es prüft tatsächlich beide https://github.com/facebook/react/blob/master/src/renderers/shared/stack/reconciler/ReactCompositeComponent.js#L881-L883 –
- 1. React.js: Requisiten an eine reaktive Router-verbundene Komponente übergeben
- 2. Warum verliert meine untergeordnete Komponente ihre Requisiten, nachdem ein API-Aufruf zurückgegeben wurde
- 3. Wie erstellen Sie eine reaktive Komponente, die Daten selbst lädt?
- 4. hinzufügen Requisiten zu routen Komponente
- 5. Wie lässt sich eine UIPickerView-Komponente umbrechen?
- 6. Übergeben einer Redux-Aktion an eine untergeordnete Komponente mit Requisiten
- 7. Warum ist die wechselseitige Datenbindung in AngularJS ein Antipattern?
- 8. ismounted Antipattern, verfolgen Eigentum
- 9. Warum lässt InfoPath die Steuerelemente in Echtzeit bearbeiten?
- 10. es6 react bekommen Requisiten in Kind-Komponente
- 11. Reagieren: Ist es in Ordnung, eine Komponente durch die Requisiten an eine andere Komponente zu übergeben?
- 12. Warum lässt Leiningen eine eigene JVM laufen?
- 13. Warum haben primitive Typen in C# ihre eigenen Operationen?
- 14. Aktualisierung redux Speicher nach Komponente Requisiten ändern
- 15. Warum erhalten die ersten beiden Formularsteuerelemente ihre eigenen Zeilen?
- 16. reagieren Update Komponente Requisiten außerhalb der Komponente Klasse
- 17. Warum definieren C++ - Bibliotheken oft ihre eigenen primitiven Typen?
- 18. wie Requisiten auf eine bestimmte Komponente in redux passieren, wenn
- 19. Reagieren: Requisiten zu einer vorhandenen Komponente hinzufügen
- 20. Warum brauchen Phantom, Casper und Meteor ihre eigenen ausführbaren Dateien?
- 21. Holen Sie sich eine Eingänge Komponente Requisiten onBlur
- 22. können Sie eine Komponente durch Requisiten Kinder weitergeben
- 23. Wie man React-Komponente mit Requisiten exportiert?
- 24. Redux pass Zustand als Requisiten zu Komponente
- 25. Gibt mehrere Ergebnisse ein Antipattern zurück?
- 26. Sharepoint-Benutzer können ihre Workflowaufgaben nicht bearbeiten
- 27. Transaktionsskript ist Antipattern?
- 28. Serversteuerungsbibliothek, die ihre eigenen Dienste aufruft
- 29. Wie gehen Menschen ihre eigenen Programmiersprachen erstellen?
- 30. Eclipse-geben Sie Ihre eigenen Build-Befehl
Siehe: http://stackoverflow.com/questions/26089532/why-cant-i-update-props-in-react-js Es ist ein Paradigma, das das Framework verwendet. –