Skip to content

Commit 715a8d5

Browse files
author
Guillaume Chau
committed
fix(vuex): re-clone in hook if state is replaced, closes #935
1 parent 1c13686 commit 715a8d5

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/backend/hook.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ export function installHook (target) {
9999
hook.once('vuex:init', store => {
100100
hook.store = store
101101
hook.initialState = clone(store.state)
102+
const origReplaceState = store.replaceState.bind(store)
103+
store.replaceState = state => {
104+
hook.initialState = clone(state)
105+
origReplaceState(state)
106+
}
102107
// Dynamic modules
103108
let origRegister, origUnregister
104109
if (store.registerModule) {
@@ -121,6 +126,7 @@ export function installHook (target) {
121126
}
122127
}
123128
hook.flushStoreModules = () => {
129+
store.replaceState = origReplaceState
124130
if (store.registerModule) {
125131
store.registerModule = origRegister
126132
store.unregisterModule = origUnregister

0 commit comments

Comments
 (0)