在 Vuex 4 和 Vue 3 中使用 \`mapActions\` 或 \`mapGetters\`

新手上路,请多包涵

任何人都知道如何使用 mapState Vue 3 - 或 mapGetters setup 我知道可以将商店与 useStore 钩子一起使用,但是有了这个钩子 我们导入所有商店,同时使用 mapStatemapGetters module :

 // ...

computed: {
   ...mapGetters('myModule', [
      'myStateVariable'
   ]
)

//...

原文由 Adri HM 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 600
2 个回答

也许是这样的:

 import { computed }  from 'vue';
import { useStore } from 'vuex';

const module = 'myModule';

export default {
    setup() {
        const store = useStore();

        return {
            // getter
            one: computed(() => store.getters[`${module}/myStateVariable`],

            // state
            two: computed(() => store.state[module].myStateVariable,
        };
    },
};

原文由 Matt Deacalion 发布,翻译遵循 CC BY-SA 4.0 许可协议

据我所知,它们变平了,所以你不能使用 myModule/myStateVariable ,但是 myStateVariable 应该可以。

这可能会随着 Vuex 进入 RC 版本而改变,但现在如果你尝试两次使用相同的 getter,你会得到这个错误

在此处输入图像描述

原文由 Daniel 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题