这是我第一个自己的React项目,我基本上是在尝试添加配方。
我的结构如下:
我现在最大的问题是当我添加新评论时。
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);
}
答案 0 :(得分:0)
您只需从位置prop将其添加到构造函数中的组件状态