【问题标题】:how to dispatch async functions using useDispatch in redux hooks如何在 redux 钩子中使用 useDispatch 调度异步函数
【发布时间】:2021-03-27 12:36:10
【问题描述】:

我正在尝试从 firebase 数据库中获取所有用户,然后将它们设置为状态,但我在减速器/状态中得到了空 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 变量的空值。

【问题讨论】:

    标签: firebase react-native firebase-realtime-database redux react-redux


    【解决方案1】:

    试试这个代码。从那里您可以将所有用户获取到一个名为 allUsers 的数组,然后您可以调度它。

    export const get_all_users = () => {
        firebase.database()
            .ref('/')
            .child('Users')
            .on('child_added', (snapshot) => {
                 const allUsers = [];
                 snapshot.forEach((child) => {
                     allUsers.push(child.val());
                 });
            });
    };
    

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 2020-06-09
      • 2021-07-31
      • 2020-05-03
      • 1970-01-01
      • 2019-12-17
      • 2020-05-16
      • 2023-03-23
      相关资源
      最近更新 更多