我正在填充从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。希望有帮助!如果您提供更多信息或重现该问题的沙箱,则可以将答案更新为更具体。