我正在用React和Firebase创建我的第一个应用程序,我想在两个函数之间传输数据并将此数据保存到我的Firebase中。但是我不能选择好的信息。
这是我的代码:
style="text-align: center;"
预先感谢您的帮助
答案 0 :(得分:0)
您必须这样渲染:
render(){
const catalogues= this.state.catalogue.map(catalogue, key) => {
return (
<div key={key}>
<h3>{catalogue.nom}</h3>
<p>{catalogue.parution}</p>
<button className="btn btn-success" onClick={this.addToCollection}>Ajouter à ma collection</button> </div>
)
});
return(
<div>
{catalogues}
</div>
}
这应该有效。
答案 1 :(得分:0)
将几件事更改如下:
addToCollection(key, e) {
const userUid = firebase.auth().currentUser.uid;
const collection = {
nom: this.state.catalogue[key].nom,
parution: this.state.catalogue[key].parution
};
firebase.database().ref(`users/${userUid}/collection`).push(collection)
};
//then in your render you have to bind your event and key:
render(){
const catalogue= Object.keys(this.state.catalogue).map(key => {
return (
<div key={key}>
<h3>{this.state.catalogue[key].nom}</h3>
<p>{this.state.catalogue[key].parution}</p>
<button className="btn btn-success" onClick={this.addToCollection.bind(this, key)}>Ajouter à ma collection</button> </div> //change this line.
)
});
return (
<div>
{catalogue}
</div>
)
}
希望有帮助。