Ich spiele mit React und Rails und ich arbeite an einer Funktion, um einen Beitrag an den Server zu senden, der wie vorgesehen funktioniert, aber dann das DOM erneut rendert Elemente ohne die Seite zu aktualisieren.Reagieren, aktualisieren Sie DOM-Elemente auf submit auf geposteten Daten ohne Aktualisierung
Ich bin mir bewusst, dass ich eine Funktion vermisse, die das neue JSON-Objekt bekommen würde und es wieder über das DOM abbilden würde, aber ich bin nicht sicher, wie ich das richtig formulieren soll.
Aus meinen Nachforschungen müsste ich eine neue $ .ajax Anfrage auf der '/ posts' Route machen, die bereits als JSON eingerichtet wurde, nur das Rendern aller Beiträge.
Mein Code ist unten:
var New = React.createClass ({
handleClick(e) {
e.preventDefault();
let text = this.refs.text.value;
$.ajax({
url: '/new',
type: 'POST',
data: { post: { text: text} },
success: (post) => {
this.handleSubmit(post);
}
});
},
handleSubmit(post) {
console.log(post);
this.refs.text.value = ""
},
render: function() {
return(<div>
<div className="post-div">
<form>
<input className="form-control" ref='text' placeholder='Post Something' />
<button className="btn btn-primary" onClick={this.handleClick}>Submit</button>
</form>
</div>
</div>
)
}
})
und die andere reagieren Datei:
var Post = React.createClass ({
render: function() {
return
<div className="text-box">
<p className="text">{this.props.text}</p>
<div className="text-stamps">{this.props.timestamps}</div>
</div>;
}
})
Jede Hilfe würde geschätzt. Vielen Dank.
@alexjtark hat meine Antwort unten Hilfe? Lass es mich wissen, bitte. – KumarM