onSnapshot 不会在 Web 版本 9 的 ReactJS 项目的 Vercel 中触发
onSnapshot not triggering in vercel for ReactJS project for Web Version 9
我正在学习 ReactJS,我是初学者。
我正在尝试从 firebase firestore 获取实时数据变化。
useEffect(() => {
getValues();
});
const q = query(collection(db, "users"));
const getValues = onSnapshot(q, (querySnapshot) => {
const updateUser = [];
querySnapshot.forEach((doc) => {
updateUser.push(doc.data());
});
setUsers([...updateUser]);
});
感谢您的帮助。
getValues()
实际上会 unsubscribe
来自听众。 onSnapshot
returns 可用于停止侦听器的函数,在本例中为 getValues
。尝试将您的代码重构为:
useState(() => {
const q = query(collection(db, "users"));
onSnapshot(q, (querySnapshot) => {
const updateUser = [];
querySnapshot.forEach((doc) => {
updateUser.push(doc.data());
});
setUsers([...updateUser]);
});
}, [])
我正在学习 ReactJS,我是初学者。
我正在尝试从 firebase firestore 获取实时数据变化。
useEffect(() => {
getValues();
});
const q = query(collection(db, "users"));
const getValues = onSnapshot(q, (querySnapshot) => {
const updateUser = [];
querySnapshot.forEach((doc) => {
updateUser.push(doc.data());
});
setUsers([...updateUser]);
});
感谢您的帮助。
getValues()
实际上会 unsubscribe
来自听众。 onSnapshot
returns 可用于停止侦听器的函数,在本例中为 getValues
。尝试将您的代码重构为:
useState(() => {
const q = query(collection(db, "users"));
onSnapshot(q, (querySnapshot) => {
const updateUser = [];
querySnapshot.forEach((doc) => {
updateUser.push(doc.data());
});
setUsers([...updateUser]);
});
}, [])