首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Vue 3中,如何通过操作将ref绑定到Pinia状态变量?

在Vue 3中,如何通过操作将ref绑定到Pinia状态变量?
EN

Stack Overflow用户
提问于 2022-11-07 00:39:02
回答 1查看 57关注 0票数 0

我正在使用可从useFirestore库合成的vueUse --我成功地将我的“标题”文档反应性地绑定到titles存储变量,但是当我试图通过操作绑定userData时,什么都没有发生(注意:我的Firebase配置很好)。

正确的方法是什么?

代码语言:javascript
运行
复制
// 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.
    },
  }
});
代码语言:javascript
运行
复制
// Component.vue
...
setUserData("my-id");
EN

回答 1

Stack Overflow用户

发布于 2022-11-07 01:02:01

啊,我忘了用$patch。这对我起了作用:

代码语言:javascript
运行
复制
setUserData(uid) {  
  const user = useFirestore(doc(db, "users", uid));
  this.$patch({ userData: user });
}

如果我用错了,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74340875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档