在状态更改后,React Need需要帮助来更新我的组件

时间:2018-10-20 15:30:00

标签: reactjs react-router

这是我第一个自己的React项目,我基本上是在尝试添加配方。

我的结构如下:

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

我现在最大的问题是当我添加新评论时。

App.js 中的

this.state。 但这不会将更新的数据发送到我的组件,这是我无法弄清的。

现在,我通过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发送食谱而发生的? 但是我不知道如何更改它,以使其能够工作并在加入Commed beeing后重新呈现。

这是我在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 :(得分:0)

您只需从位置prop将其添加到构造函数中的组件状态