我正在学习 Reactjs。我已经用 Rails 实现了一个示例反应应用程序。我搜索了很多以找到解决方案,但我没有找到任何解决方案。我想从onClick
函数中调用另一个组件。但什么也没有发生。这可能是我试图实现的吗?如果是,那么请指出我做错的地方,如果不是,那么我可以实施哪种方式。这是我的代码:
var Comment = React.createClass({
render: function () {
return (
<div id={"comment_"+ this.props.id }>
<h4>{ this.props.author } said:</h4>
<p>{ this.props.desc }</p>
<a href='' onClick={this.handleDelete}>Delete</a> | #this is for delete which works great
<a href='' onClick={this.handleEdit}>Edit</a>
# If I put here then it works fine <UpdateComments comments={ this.props} /> but I don't want it here
</div>
)
},
handleDelete: function(event) {
$.ajax({
url: '/comments/'+ this.props.id,
type: "DELETE",
dataType: "json",
success: function (data) {
this.setState({ comments: data });
}.bind(this)
});
},
handleEdit: function(event) {
var Temp = React.createClass({
render: function(event){
return(<div>
<UpdateComments comments={ this.props} /> #here I want to call UpdateComments component
</div>
)
}
});
}
});
更新: 如果我尝试以下技巧,那么它会调用组件但重新加载页面并再次消失称为组件:(
handleEdit: function() {
React.render(<UpdateComments comments={ this.props} /> , document.getElementById('comment_'+ this.props.id));
}
如果您需要任何其他细节,请随时询问。提前致谢。:)