React-JS дубликаты реквизита - PullRequest
1 голос
/ 17 апреля 2019

У меня есть страница показа, которая отображает детали заявки, включая ее комментарии, и эта страница имеет простую форму для создания комментариев под этой заявкой.форма отправлена ​​и успешно добавлен комментарий.
проблема
Когда я покидаю текущую страницу заявки на другую страницу заявки, комментарий, который я создал для первой заявки, появляется на странице второй заявки.

форма

                    <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 по-прежнему хранит данные созданного комментария, а не я изменил страницу заявки.

Что мне делать, чтобы решить эту проблему, пожалуйста?

...