[Vuejs]-Vuex – Baffling mutation payload in new window/tab

0👍

You end up with a “cannot stringify circular JSON” error, because you are turning the state, but also the getters, mutations and actions into a string. These contain references to the object you are trying to stringify, which results in an infinite loop.

This is not a problem in your first run, because your localStorage is still empty then. You correctly stringify your state, but when you reload the following line runs:

this.replaceState(Object.assign(store, JSON.parse(localStorage.getItem('store'))));

This line replaces your state with your store, extended with what you have in localStorage. If you replace store with state things should work much better.

Leave a comment