Was ist der Unterschied zwischen der Verwendung von Konstruktor vs. getInitialState in React / React Native?
Ich habe gesehen, beide Synonym verwendet.
Was sind die wichtigsten Anwendungsfälle für beide? Gibt es Vorteile /Nachteile? Ist eine bessere Praxis?
InformationsquelleAutor der Frage Nader Dabit | 2015-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sich die beiden Ansätze sind nicht austauschbar. Sollten Sie initialisieren Staat im Konstruktor bei der Verwendung von ES6-Klassen, und definieren Sie die
getInitialState
- Methode bei der Verwendung vonReact.createClass
.Finden Sie auf der offiziellen Reagieren doc auf das Thema ES6-Klassen.
entspricht
InformationsquelleAutor der Antwort Alexandre Kirszenberg
Den Unterschied zwischen
constructor
undgetInitialState
ist der Unterschied zwischen ES6 und ES5 selbst.getInitialState
mitReact.createClass
undconstructor
mitReact.Component
.Daher die Frage läuft darauf hinaus, Vorteile/Nachteile der Verwendung von ES6 oder ES5.
Schauen wir uns den Unterschied in der code
ES5
ES6
Es ist eine interessante reddit-thread in Bezug auf diese.
Reagieren Gemeinschaft rückt näher an ES6. Auch es wird als die beste Praxis.
Gibt es einige Unterschiede zwischen
React.createClass
undReact.Component
. Zum Beispiel, wiethis
behandelt wird in diesen Fällen nicht. Lesen Sie mehr über diese Unterschiede in diesem Blogbeitrag und facebook ist Inhalte auf autobindingconstructor
können auch verwendet werden, um mit solchen Situationen fertig zu werden. Zum binden von Methoden, um eine Komponenten-Instanz, kann es sein, prebinded in derconstructor
. Diese ist ein gutes material für solche Sachen.Einige mehr gutes material über best practices
Best Practices für die Komponente State in React.js
Konvertieren Reagieren-Projekt von ES5, ES6
InformationsquelleAutor der Antwort sudo bangbang
OK, der große Unterschied ist, beginnen, wo Sie herkommt, so
constructor
ist der Konstruktor der Klasse in JavaScript, auf der anderen SeitegetInitialState
ist Teil derlifecycle
vonReact
.constructor
ist, wo Ihre Klasse sich initialisiert...In der Reagieren v16-Dokument, die Sie gar nicht erwähnt, eine Vorliebe, aber Sie brauchen, um
getInitialState
wenn Sie mitcreateReactClass()
...Besuchen hier für weitere Informationen.
Schuf auch das Bild unten, um die show wenigen Lebenszyklen zu Reagieren Compoenents:
InformationsquelleAutor der Antwort Alireza
Wenn Sie sich schriftlich Reagieren-Native-Klasse mit ES6, Folgendes format wird verfolgt werden. Es umfasst life-cycle-Methoden der RN für die Klasse machen Netzwerkaufrufe.
InformationsquelleAutor der Antwort Анураг Пракаш