我试图从firebase数据库中获取所有用户,然后将它们设置为状态,但在reducer/state中我得到了空的allUsers
。如何解决此问题?
export const get_all_users = () => {
var allUsers = [];
database()
.ref('/')
.child('Users')
.on('child_added', (data) => {
// console.log('det all user', data.val());
allUsers.push(data.val());
// console.log('all user', allUsers);
});
{* ----- getting empty allusers array here -----*}
return {
type: 'set_all_users',
payload: {data: allUsers},
};
};
在return
之前,我得到了allUsers
变量的空值。
试试这个代码。从中,您可以将所有用户获取到一个名为allUsers的数组,然后您可以对其进行调度
export const get_all_users = () => {
firebase.database()
.ref('/')
.child('Users')
.on('child_added', (snapshot) => {
const allUsers = [];
snapshot.forEach((child) => {
allUsers.push(child.val());
});
});
};