如何在reactjs中从firebase数据库中获取对象的id
how to get id of object from firebase database in reactjs
如何在 reactjs 中从 firebase 数据库获取对象的 id
我在 react-redux 中有一个从 firebase 数据库中获取的列表数组,我想获取数组中每个对象的 id,如何获取?
获取快照,并将其作为 Map 进行迭代,例如 Object.keys(foo).forEach
。
这是一段虚拟代码:
`
const rootRef = firebase.database().ref();
const fooRef = rootRef.child("foo");
fooRef.on("value", snap => {
const foo = snap.val();
if (foo !== null) {
Object.keys(foo).forEach(key => {
// The ID is the key
console.log(key);
// The Object is foo[key]
console.log(foo[key]);
});
}
});
`
小心 Firebase 中的数组:如果 ID 是从“0”开始的连续数字,则它们是转换为数组的映射。如果您删除数组中间的项目,它不会相应地更改 ID。更好地使用地图,它更可预测。
您可以尝试这样的操作:
export const getAllRooms = () => {
return roomCollection.get().then(function (querySnapshot) {
const rooms = [];
querySnapshot.forEach(function (doc) {
const room = doc.data();
room.id = doc.id;
rooms.push(room);
});
return rooms;
});
};
`
如何在 reactjs 中从 firebase 数据库获取对象的 id 我在 react-redux 中有一个从 firebase 数据库中获取的列表数组,我想获取数组中每个对象的 id,如何获取?
获取快照,并将其作为 Map 进行迭代,例如 Object.keys(foo).forEach
。
这是一段虚拟代码:
`
const rootRef = firebase.database().ref();
const fooRef = rootRef.child("foo");
fooRef.on("value", snap => {
const foo = snap.val();
if (foo !== null) {
Object.keys(foo).forEach(key => {
// The ID is the key
console.log(key);
// The Object is foo[key]
console.log(foo[key]);
});
}
});
`
小心 Firebase 中的数组:如果 ID 是从“0”开始的连续数字,则它们是转换为数组的映射。如果您删除数组中间的项目,它不会相应地更改 ID。更好地使用地图,它更可预测。
您可以尝试这样的操作:
export const getAllRooms = () => {
return roomCollection.get().then(function (querySnapshot) {
const rooms = [];
querySnapshot.forEach(function (doc) {
const room = doc.data();
room.id = doc.id;
rooms.push(room);
});
return rooms;
});
};
`