如何在状态中写入变量s?如何将状态中的变量写为包含来自数据库的snap.key的键?
componentDidMount(){
let cardQuantity = firebase.database().ref("Users");
cardQuantity.on('child_added',snap => {
let cardsValue = cardQuantity.child(snap.key);
let cardId = {cardId : snap.key};
this.setState({cardsId : [cardId].concat(this.state.cardsId)});
let s = snap.key;
this.setState({cards : []});
cardsValue.on('value',snap => {
snap.forEach((childSnapshot)=> {
let card = {text: childSnapshot.val(), id: childSnapshot.key};
// this.setState({s : [card].concat(this.state.cards)});
});
});
})
}
<div className="Info" >
{ this.state.cardsId.map( cardsId => <div className="Cards" key={cardsId.cardId}>
// {this.state.cards.map( card => <h2 key={card.id} >
{card.text}</h2>) }
</div>) }
答案 0 :(得分:2)
您可以使用键的括号表示法:{[key]:value}
this.setState({[s] : [card].concat(this.state.cards)});
您可以阅读有关此here的更多信息。