vuex 使用mapGetters可以获取到数据,但是使用mapState获取不到数据,为什么啊??

vuex代码(部分):

const state = {
    shopNameList: [],
    test: [1, 2, 3]
}
const getters = {
    shopNameList: (state) => state.shopNameList,
    test: (state) => state.test
}

组件代码(部分):

computed: {
        ...mapGetters({ // 这样可以获取
            shopNameList: 'shopNameList',
            test: 'test'
        })
    },
computed: {
        ...mapState({ // 获取不到数据
            shopNameList: 'shopNameList',
            test: 'test'
        })
    },
阅读 10.3k
2 个回答

clipboard.png

mapState 返回的是一个数组

...mapState({
    abc: (state)=> state.abc
})

今天也遇到了mapState映射取不到值的情况,后来发现是映射格式不正确

必须使用 箭头函数进行返回才能正确映射到 computed

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