void componentWillReceiveProps(
object nextProps
)
Dies ist, was die offizielle Dokumentation sagt => Wird aufgerufen, wenn eine Komponente neue Requisiten erhält. Diese Methode wird nicht für das anfängliche Rendern aufgerufen.Problem mit componentWillReceiveProps
Ich Rendern eine Komponente mit Requisiten wie unten in der übergeordneten Komponente -
<ArticleDetails articleDetails={this.state.details}></ArticleDetails>
Artikelansicht Komponente componentWillReceiveProps Methode definiert. Laut Dokumentation soll es nicht aufgerufen werden, wenn ich die Seite aktualisiere (Initial render), aber das tut es. Wenn der Grund ist, weil ich Requisiten beim ersten Aufruf selbst übergebe, gibt es irgendeinen Weg, dass du es zum ersten Mal rendern kannst, ohne Requisiten zu geben und dann später irgendwie Requisiten zu übergeben?
var ArticleDetails = React.createClass({
getInitialState: function() {
return {author: '', tags: '', data:'', relatedArticles:{}};
},
componentWillReceiveProps :function(){
console.log("i am called");
this.setState({tags:this.props.articleDetails._id||''})
},
handleSubmit: function(e) {
e.preventDefault();
/// do something
},
render: function() {
return (
<form className="articleForm" onSubmit={this.handleSubmit}>
<input
type="text"
placeholder="Your name"
value={this.state.heading}
/>
<input
type="text"
placeholder="Say something..."
value={this.state.tags}
/>
<input type="submit" value="Post" />
</form>
);
}
});
sollte es nicht, vielleicht geltend gemacht werden, etwas macht Änderungen oder Requisiten direkt nach dem ersten machen? – havenchyk
'Ein häufiger Fehler ist, dass Code, der während dieser Lebenszyklus-Methode ausgeführt wird, davon ausgeht, dass sich Requisiten geändert haben." - aus demselben Dokument – havenchyk
https://facebook.github.io/react/blog/2016/01/08/A-implies -B-impliziert nicht-B-impliziert-A.html – havenchyk