Реагировать Нужна помощь в получении обновления моего компонента после изменения состояния - PullRequest
0 голосов
/ 20 октября 2018

Это мой первый собственный проект React, и я пытаюсь добавить рецепт.

Моя структура выглядит следующим образом:

  • App.js
  • AllRecipes.js
  • Recipe.js
  • Comments.js
  • AddComment.js

Моя самая большая проблема сейчас заключается в том, что когда яДобавить новый комментарий.

this.state в App.js обновления.Но он не отправляет обновленные данные в мой компонент, и это то, что я не могу понять.

Сейчас я отправляю свои данные через NavLink в виде состояний.

<NavLink to={{pathname: '/recipe/' + recipe.Name, state: { recipe: recipe, key: recipe.id }}}>{recipe.Name}</Link>

Затем из Recipe.js я отправляю его как опору:

<Comments comments={this.props.location.state.recipe.Comments} />

Я предполагаю, что это происходит, потому что я посылаю рецепт через location, а не props?Но я не знаю, как его изменить, чтобы он работал и перерисовывался после добавления Commend.

Это мой код в App.js при добавлении комментария:

addComment(key, aComment)
{
    aComment['UserID'] = this.state.currentUser.m;
    aComment['Time'] = new Date().getTime();

    const commentRef = firebase.database().ref(`/recipes/${key}/Comments`);

    commentRef.push(aComment);
}

1 Ответ

0 голосов
/ 20 октября 2018

Вы можете просто добавить его в состояние компонента в конструкторе из положения prop

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...