vue warn Error in render: “TypeError: Cannot read properties of undefined (reading ‘0‘)“
我遇到这个问题是vuex报错原因state里面没有初始化数组解决办法stateconst state = {// 设定初始值 初始值要根据接口返回的数据进行计算groupMenuitems: [],detailtype: [],//加上原始状态参数detail:[]// menuitemsGroup:[]};解释原因是vuex没有进行数据代理mutationsGetdetail: (state,
·
我遇到这个问题是vuex报错
原因
state里面没有初始化数组
解决办法
state
const state = {
// 设定初始值 初始值要根据接口返回的数据进行计算
groupMenuitems: [],
detailtype: [],
//加上原始状态参数
detail:[]
// menuitemsGroup:[]
};
解释
原因是vuex没有进行数据代理
mutations
Getdetail: (state, detail) => {
state.detail = detail;
console.log("state")
console.log(state)
console.log("state.detail")
console.log(state.detail)
},
state
const state = {
// 设定初始值 初始值要根据接口返回的数据进行计算
groupMenuitems: [],
detailtype: [],
// detail:[]
// menuitemsGroup:[]
};
vuex里面还有能看见
但是home组件完全看不见了
computed: {
...mapState({
detail: (state) => {
console.log("state.home.detail");
console.log(state.home.detail);
return state.home.detail;
},
}),
},
这个主要是因为state里面没有放原始数组 导致它没有动态的代理 虽然有这个属性 但是在组件里面是读不到的 console.log打印对象的时候又能打印出来store里面是有这个属性 但是没有进行数据代理 没有办法进行响应式更新
state作为构造器选项,定义了所有我们需要的基本状态参数。
看到博客的一句话,感觉还是蛮有道理的,没有写参数,直接用actions、mutation往上加静态的属性,可能不算是基本状态参数,所以组件读不了
更多推荐
已为社区贡献1条内容
所有评论(0)