Я изучаю Reactjs. Я реализовал одно приложение для тестирования с рельсами. У меня есть поиск по лотам, чтобы найти решение, но я его не нашел. Я хотел вызвать другой компонент из функции onClick
. Но ничего не происходит. Возможно ли, чего я пытаюсь достичь? Если да, то, пожалуйста, укажите мне, где я ошибаюсь, а если нет, то каким способом я могу реализовать. Вот мой код:Как вызвать другой компонент из функции onClick в ReactJS
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>
)
}
});
}
});
Update: Если я пытаюсь ниже трюк, то это называют компонент, но перезагрузите страницу и снова исчезают под названием компонента :(
handleEdit: function() {
React.render(<UpdateComments comments={ this.props} /> , document.getElementById('comment_'+ this.props.id));
}
любая другая деталь, если вам требуемый, затем не стесняйтесь спрашивать. Спасибо заранее. :)
Вы работаете с флюсом или рефлюксом? В настоящее время я работаю с рефлюксом, и для этого я использую магазин. – dobleUber
@melaspelas: Нет. Я не использую флюс. simple reactjs –
Вы пробовали https://facebook.github.io/react/tips/communicate-between-components.html ?? – dobleUber