我正在填充从Firebase Firestore数据库提取的数据表。我正在使用我喜欢的useState挂钩,但是在尝试将useState传递给我的异步方法时遇到了错误。

有任何想法吗?

// My async function
const collectionGroupGet = async (setfunctions) => {
    let functionsArray = [];

  var functions = db.collectionGroup("Functions");
  functions.get().then(function (querySnapshot) {
    querySnapshot.forEach(function (doc) {
        functionsArray.push({ data: doc.data() });
        setfunctions(functionsArray);
    });
  });

};

// My functional component
const ExpFirestore = () => {
 const [functions, setfunctions] = useState("");
 collectionGroupGet(setfunctions)

 ... other irrelevant code

最佳答案

这里没有足够的信息来确定问题是什么,但是您应该在useEffect函数中执行async东西。这是在渲染过程中将useState设置方法传递给async函数的working example。希望有帮助!如果您提供更多信息或重现该问题的沙箱,则可以将答案更新为更具体。

09-20 19:36