vuex mutations 设置state堆栈溢出

在使用vuex的时候,在vue页面中使用


this.$store.commit('mapSet',map);

来调用mutations来改变state,但是在mutations中


 mapSet:(state,map)=>{

            console.log(map);

            state.myMap=map;

        }

    

但是在调用页面的时候,输出map对象是正常的,但是赋值的时候就会报堆栈溢出,请问是什么错误呢?如何解决呢?

https://img4.mukewang.com/5caafc220001c10608000395.jpg

森栏
浏览 845回答 2
2回答

慕雪6442864

死循环了吧,设置myMap又触发了commit吧

莫回无

虽然不知道为什么,但是我发现,在设置state的时候不要将其设置为null,比如:a:null //这样会报错,堆栈溢出a:{} //这样设置会好并且,在mutations的时候,将参数赋值到state的属性中,比如:a.a=参数这样赋值就会正确且不会报错,暂时就是这样解决这个问题,具体原理还不是很清楚,请各位大神指教
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript