Как сделать так, чтобы мои комментарии появлялись после отправки в ReactJS? - PullRequest
1 голос
/ 04 августа 2020

Итак, я только что создал функцию комментариев на своем веб-сайте.

Эта функция подключается к API для отправки и получения комментариев:

Сейчас у меня есть это:

const [comments, setComments] = useState([]);

В котором хранятся комментарии после того, как они были получены из БД с помощью al oop ::

{comments && comments.map((comment, index) => (
   <Single key={comment._id} comment={comment} />
))}

Функция, которая у меня в форме, выглядит так:

const createComment = async e => {
   e.preventDefault();
   await action(postId, commentData).then(result => {
      setShownMessage(result ? `Submitted`: `Submit`);
      setComments([...comments, result]);
   }).catch(err => {
      console.log(err);
   });
}

Как я могу перевести этот код из этой статьи ( Щелкните здесь, чтобы go в статье ) в свой компонент?:

var comments = this.state.data;
// Optimistically set an id on the new comment. It will be replaced by an
// id generated by the server. In a production application you would likely
// not use Date.now() for this and would have a more robust system in place.
comment.id = Date.now();
var newComments = comments.concat([comment]);
this.setState({data: newComments});

Было бы что-то вроде этого?:

var newComments: comments.concat([WHERE_IS_COMMENT_COMING_FROM_?]);
setComments({comments: newComments})

Заранее спасибо !!.

...