aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-04-09 16:30:21 +0200
committerRoger Braun <roger@rogerbraun.net>2017-04-09 16:30:21 +0200
commite531c780798b84215160cf44a2f0aed971c6cf97 (patch)
tree3360cab450f8e5a12527e19c1124d7a84bd8b112
parenta53555254a711654399836e0f5f052d629bf4380 (diff)
Only persist state after we loaded one.
-rw-r--r--src/lib/persisted_state.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/persisted_state.js b/src/lib/persisted_state.js
index a47ad7d5..26a9d0e4 100644
--- a/src/lib/persisted_state.js
+++ b/src/lib/persisted_state.js
@@ -3,6 +3,8 @@ import objectPath from 'object-path'
import localforage from 'localforage'
import { throttle, each } from 'lodash'
+let loaded = false
+
const defaultReducer = (state, paths) => (
paths.length === 0 ? state : paths.reduce((substate, path) => {
objectPath.set(substate, path, objectPath.get(state, path))
@@ -15,7 +17,11 @@ const defaultStorage = (() => {
})()
const defaultSetState = (key, state, storage) => {
- return storage.setItem(key, state)
+ if (!loaded) {
+ console.log('waiting for old state to be loaded...')
+ } else {
+ return storage.setItem(key, state)
+ }
}
export default function createPersistedState ({
@@ -44,6 +50,7 @@ export default function createPersistedState ({
merge({}, store.state, savedState)
)
}
+ loaded = true
})
subscriber(store)((mutation, state) => {