Это мой первый собственный проект 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);
}