我在玩React和Rails,我正在处理一个函数来提交一个帖子到服务器,它按预期工作,但然后重新呈现DOM元素不刷新页面。反应,更新DOM元素上发布的数据提交而不刷新
我知道我错过了一个函数,它会得到新的JSON对象并将它映射到DOM上,但我不确定如何正确地表达它。
从我的研究中,我将不得不在'/ posts'路线上执行一个新的$ .ajax请求,该路由已经设置为JSON,只渲染所有帖子。
我的代码如下:
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>
)
}
})
和其他反应文件:
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>;
}
})
任何帮助,将不胜感激。谢谢。
@alexjtark对我的回答有帮助吗?请告诉我。 – KumarM