2014-12-09 17 views
8

Wenn der Anfangszustand einer Komponente Einstellung über Requisiten Daten übergeben verwendet wird, sollte ich eine neue Aufgabe, etwas zu tun, wie ...Reagieren getInitialState mit Requisiten

getInitialState: function() { 
    return { 
     fieldData: JSON.parse(JSON.stringify(this.props.data)) 
    }; 
} 

oder ist es sicher, einfach tun,

...
getInitialState: function() { 
    return { 
     fieldData: this.props.data 
    }; 
} 
+0

Sie müssen weitere Informationen bereitstellen. Diese Frage ist zu vage. Verwandeln Sie FieldData in irgendeiner Weise? Senden Sie es nur, wenn der Benutzer auf Speichern klickt? usw. – FakeRainBrigand

Antwort

7

Requisiten Übertragen auf die staatlichen Komponente ist eine schlechte Praxis betrachtet: http://facebook.github.io/react/tips/props-in-getInitialState-as-anti-pattern.html

Es könnte am besten Nachteil sein einen anderen Ansatz. Sie können auf Requisiten direkt zugreifen und die Komponente wird aktualisiert, wenn die Requisiten geändert werden.

+4

Es ist akzeptabel, um den Anfangszustand zu erhalten: "Es ist jedoch kein Anti-Pattern, wenn Sie klarstellen, dass Synchronisation hier nicht das Ziel ist:" –

+2

Wie kommen die uiexplorer-Beispiele dazu im reaktiven nativen Repo? – SuperUberDuper

+1

* Warum * ist das eine schlechte Übung? –

Verwandte Themen