React native 使用arrayUnion会导致内存泄漏
我正试图将一个状态数组上传到Firestore中的一个数组中,但是它出现了一个警告“无法对未安装的状态执行更新”。当我转到数据库时,我可以看到数据尚未存储React native 使用arrayUnion会导致内存泄漏,react-native,google-cloud-firestore,React Native,Google Cloud Firestore,我正试图将一个状态数组上传到Firestore中的一个数组中,但是它出现了一个警告“无法对未安装的状态执行更新”。当我转到数据库时,我可以看到数据尚未存储 const dbh = firebase.firestore(); this.state.players.map(player => { if(player.Present === true){ this.setState({ enrolledPla
const dbh = firebase.firestore();
this.state.players.map(player => {
if(player.Present === true){
this.setState({
enrolledPlayersList: [...this.state.enrolledPlayersList, player.id]
})
}
})
const finalList = this.state.enrolledPlayersList
dbh.collection("Groups").doc(this.state.group)
.collection('Enrolled').doc('ids').update({
players: firebase.firestore.FieldValue.arrayUnion(finalList)
})
我通过将与数据库的连接放在componentDidMount()函数中解决了这个问题,如下所示
componentDidMount(){
const dbh = firebase.firestore();
this.state.players.map(player => {
if(player.Present === true){
this.setState({
enrolledPlayersList: [...this.state.enrolledPlayersList, player.id]
})
}
})
}
你能分享更多你的代码吗?此警告与您使用和更新的
This.state
有关。看看这个,它可能对这个有用