javascript - [Vue 警告]:渲染错误:“TypeError: undefined is not an object (evalating 'this.$store.state')”
问题描述
使用 vuex 项目运行 vue 时出现以下错误。
[Vue 警告]:渲染错误:“TypeError: undefined is not an object (evalating 'this.$store.state')”
在我的项目中,我创建了vuex/store.js
:
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const store = new Vuex.Store({
state:{
user_data: null,
is_login: false
}
});
在我的main.js
:
从 './vuex/store.js' 导入存储
...
new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
...
在我的 app.vue 中:
<template>
<div>
<registration></registration>
<hr>
<registrations></registrations>
</div>
</template>
<script>
import registration from './views/components/registrations/registration.vue'
import registrations from './views/components/registrations/registrations.vue'
export default{
props: {
},
data(){
return {
}
},
components: {
registration,
registrations
}
}
</script>
在我的中registration.vue
,我使用了this.$store.state.user_data
and this.$store.state.is_login
,错误在那里报告:
<style scoped>
</style>
<template>
<div style="margin-top: 20px">
<h1>registration</h1>
{{ is_login }}
<hr>
{{ user_data }}
</div>
</template>
<script>
export default{
data(){
return {
msg: 'hello vue'
}
},
computed: {
is_login(){
debugger
return this.$store.state.is_login
},
user_data(){
return this.$store.state.user_data
}
},
components: {}
}
</script>
我已经store
在Vue中注册了,为什么还会出现这个问题?
解决方案
在 main.js 更改
import store from './vuex/store.js'
至
import {store} from './vuex/store.js'
推荐阅读
- css - CSS中与容器相同的列宽仅与子项的组合宽度一样宽
- c++ - 浏览器中使用 UE4 的套接字连接失败
- cassandra - 当我将小型 SSTBLS 流式传输到 Cassandra 4-rc1 时,我得到“流失败”。任何解决方法
- opc-ua - 正确解释事件的服务器响应
- javascript - 使用 Puppeteer page.$eval 渲染 React 纤程树
- javascript - 为流畅的 ui 下拉菜单创建处理程序,使用 React 状态的动态名称
- python - 在计算中使用列值和行值生成给定大小的方形 Numpy 数组
- r - ggplot 扩展函数在散点图中绘制叠加均值
- python - Keras 如何计算每个 epoch 的模型精度?
- django - Nginx 将子目录添加到 proxy_pass 响应?