Comments (9)
while i do understand the implications from asynchronous operation in the dehydration, and with that the decision not to include the functionality, i do have to point out that localForage does not work with your given example since localForageInstance.getItem returns a Promise, not a value.
from vuex-persistedstate.
then I am afraid that the concept of vuex and so this plugin isn't compatible with your particular use case. What you can do though is to look into how to set your "initial state" through SSR (https://ssr.vuejs.org/en/data.html), which should be the same idea.
from vuex-persistedstate.
Ok so I do not know exactly what localForage is here? Looks like a typo to me. You'll have to provide more context than this I'm afraid.
from vuex-persistedstate.
Please open a more descriptive issue with more context and example code.
from vuex-persistedstate.
localForage is a wrapper around different kinds of offline storage, IndexedDB, WebSQL, localStorage, etc.: https://localforage.github.io/localForage/
It implements a interface very similar to localStorage, just asynchronous; setItem, getItem, etc. return Promises.
Also, it can store all kinds of data types, not just strings, which might be what's causing problems here (JSON decoded twice?)
What I'd be interested personally is if persistedstate has support for asynchronous storage types in general
from vuex-persistedstate.
I'd be open to making a contribution
from vuex-persistedstate.
@deltragon that would be great! It looks like they have the same API as localstorage. My first guess is that you need to overrule the storage
option here (https://github.com/robinvdvleuten/vuex-persistedstate/blob/master/src/plugin.js#L64). And then inject a similar object as this class (https://github.com/robinvdvleuten/vuex-persistedstate/blob/master/src/plugin.js#L31) with the the getItem / setItem methods calling the underlaying localforage library.
from vuex-persistedstate.
@deltragon maybe an instance created by localforage as described here will do (https://localforage.github.io/localForage/#multiple-instances-createinstance).
import createPersistedState from 'vuex-persistedstate'
const localForageInstance = localforage.createInstance({ name: "nameHere" });
const store = new Vuex.Store({
// ...
plugins: [createPersistedState({ storage: localForageInstance })]
})
from vuex-persistedstate.
@deltragon my given example should work with a default localForage setup. For more advanced use cases this plugin isn't then insufficient. I can't merge all functionality for all user's use cases I am afraid. I would like this plugin to be as lean as possible.
from vuex-persistedstate.
Related Issues (20)
- how can i use dynamic key HOT 2
- Not working with Secure-Ls HOT 1
- High Severity: Prototype Pollution vulnerability in module shvl
- How to encrypt sessionStorage using secure-ls? HOT 1
- Feature Request: Code Examples / Documentation for Options
- Lots of plugins? HOT 1
- VueDevtools not data HOT 1
- Example needed: path options and namespaces HOT 1
- secure-ls | Uncaught Error: Could not parse JSON HOT 2
- Wrong data after restore. HOT 1
- One cookie by module with JS-COOKIE
- Storage option with Js cookie stops working suddenly HOT 1
- vuex-persistedstate does not follow vuex plugin guidelines HOT 2
- Newbe Question - Restore data from localStore to Vuex on page reload in Nuxt.js HOT 2
- Unable to access data from Vuex after rehydration in Nuxt.js HOT 2
- Clearing localstorage in developer tools not working HOT 2
- Feature Request: Support Pinia HOT 1
- [Feature Request] can `paths` option support `function` and `Regex`?
- It's not clear to me if Vuex 3 and Vue 2 are supported by vuex-persistedstate 4
- Exemple using cookie-universal-nuxt HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vuex-persistedstate.