我正在使用可从useFirestore库合成的vueUse --我成功地将我的“标题”文档反应性地绑定到titles存储变量,但是当我试图通过操作绑定userData时,什么都没有发生(注意:我的Firebase配置很好)。
正确的方法是什么?
// user.store.js
import { defineStore } from "pinia";
import { useFirestore } from "@vueuse/firebase/useFirestore";
import { db, doc } from "../../../config/firebase";
export const useUserStore = defineStore("user", {
state: () => ({
titles: useFirestore(doc(db, "titles", "available")), // <-- this works and binds the firestore document
userData: null,
}),
getters: {
getUserData: (state) => state.userData,
},
actions: {
setUserData(uid) {
this.userData = useFirestore(doc(db, "users", uid)); // <-- this doesn't do anything and userData is `null` in the dev tools.
},
}
});// Component.vue
...
setUserData("my-id");发布于 2022-11-07 01:02:01
啊,我忘了用$patch。这对我起了作用:
setUserData(uid) {
const user = useFirestore(doc(db, "users", uid));
this.$patch({ userData: user });
}如果我用错了,请告诉我。
https://stackoverflow.com/questions/74340875
复制相似问题