![](/img/trans.png)
[英]How to push an object in an array with arrayUnion() in Firebase Firestore?
[英]How to push new data to Array with Firebase
我在更新数组时遇到问题。 本质上,我有一个要在其上呈现复选框的项目列表。 当我 select 复选框时,数据库引用拉取连接到复选框的项目的字符串。 我可以从每个单独的项目中获取数据,但我的数组永远不会更新,它总是保持为空。 我基本上需要使用我按下复选框的每个附加列表项来更新数组。
const onChangeValue = (Item) => {
/*firebase.database()
.ref('users/' + '/C Room' + '/' + Item.Id)
.remove()
.then(() => { })
.catch((err) => {
console.log(err);
});*/
const leadsRef = firebase.database().ref('users/' + '/C Room' + '/' + Item.Id);
leadsRef.on('value', function(snapshot) {
snapshot.forEach(function(childSnapshot) {
const childData = childSnapshot.val();
//console.log(childData)
const checkboxData = childData
//setcheckboxArray(childData)
console.log(checkboxData)
setTheArray(theArray => [...theArray, checkboxData]);
});
console.log(theArray)
});
}
pearl
-NBhaGshkMgGLbslqXZQ
rRs584c
C Room
drums
Array [
"",
]
这些值一次只返回一个,它们不会添加到数组中。
永远不需要像你在这里做的那样在一个紧密的循环中多次调用它们。
要解决这个问题:
const leadsRef = firebase.database().ref('users/' + '/C Room' + '/' + Item.Id);
leadsRef.on('value', function(snapshot) {
let arr = [];
snapshot.forEach(function(childSnapshot) {
arr.push(childSnapshot.val());
});
setTheArray(arr);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.