Cannot read properties of undefined

1. 错误详情

TypeError: Cannot read properties of undefined (reading 'state')
    at VueComponent.mappedState (webpack-internal:///./node_modules/_vuex@4.0.2@vuex/dist/vuex.esm-bundler.js:1233:31)
    at Watcher.get (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:3945:27)
    at Watcher.evaluate (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:4057:23)
    at VueComponent.computedGetter [as count] (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6254:17)
    at processComputed (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:3770:24)
    at getInstanceState (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:3615:87)
    at getInstanceDetails (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:3600:12)
    at chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:4606:60
    at DevtoolsHookable.callHandlers (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:708:17)
    at DevtoolsApi.callHook (chrome-extension://ljjemllljcmogpfapbkkighbhhppjdbg/build/backend.js:200:29)

在这里插入图片描述

2. 错误分析

百度此错误发现,很多人可能忘记在main.js中引入store.js并挂载在vue实例上,或者state单词写错了

我审查了很多遍代码,依然报错,读取不到state中的数据,后来想到可能是版本的问题
此项目是vue2,要使用vuex3才能正常运行,我安装的时候没有指定版本,直接装的是最新的vuex4版本,因此库版本不一致导致不能正常运行

3.错误解决

vue和vuex的错误版本依赖

  "dependencies": {
    "axios": "^0.27.2",
    "core-js": "^3.8.3",
    "less": "^4.1.3",
    "less-loader": "^5.0.0",
    "nprogress": "^0.2.0",
    "vue": "^2.6.14",
    "vue-router": "^3.5.4",
    "vuex": "^4.0.2"
  },

更改vuex为3版本的
cnpm install --save vuex@3

  "dependencies": {
    "axios": "^0.27.2",
    "core-js": "^3.8.3",
    "less": "^4.1.3",
    "less-loader": "^5.0.0",
    "nprogress": "^0.2.0",
    "vue": "^2.6.14",
    "vue-router": "^3.5.4",
    "vuex": "^3.6.2"
  },

可以正确读取到state中的数据
在这里插入图片描述

阅读全文
AI总结
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐