У меня есть страница показа, которая отображает детали заявки, включая ее комментарии, и эта страница имеет простую форму для создания комментариев под этой заявкой.форма отправлена и успешно добавлен комментарий.
проблема
Когда я покидаю текущую страницу заявки на другую страницу заявки, комментарий, который я создал для первой заявки, появляется на странице второй заявки.
форма
<form onSubmit={this.handleAddComment} className="m-form">
<div className="group-control">
<textarea
className="form-control"
value={this.state.comment}
name="comment"
onChange={this.handleChange}
required
>
</textarea>
</div>
<br />
<div className="m-widget13__action m--align-right">
<button type="submit" className="btn btn-primary">
Add Comment
</button>
</div>
</form>
Функция добавления комментария
handleAddComment(e)
{
e.preventDefault();
const data = {
ticketId : this.props.complaintId,
comment : this.state.comment
}
// send create comment request
this.props.complaintCommentCreate(data);
}
После создания комментария я проверяю полученное в компонентеполучит
componentWillReceiveProps(nextProps)
{
if(nextProps.createComment.comment)
{
// append created to comment to comments array
this.setState({
comments : this.state.comments.concat(nextProps.createComment.comment)
})
swal({ title: 'Success', type : "success", text: 'Comment created successfully!', timer: 3000});
}
}
После некоторого отслеживания решения проблемы: Я обнаружил, что метод componentWillReceiveProps по-прежнему хранит данные созданного комментария, а не я изменил страницу заявки.
Что мне делать, чтобы решить эту проблему, пожалуйста?