Comments (4)
Hey @j5k, could you clarify a little more? I don't understand what you mean when you say that object keys are often repeated.
from vuex-multi-tab-state.
This package works perfectly for my needs. But the only problem is, that the strict storage limit of 5MB for localStorage is very low. So I looked at your saved data and saw a normal JSON string. A quick example:
{
"id":"bxeww1tsn7cbani9dhu5rl",
"state":{
"countries":{
"AF":{"code":"AF","name":"Afghanistan","d_code":"+93","package_zone":"2"},
"AL":{"code":"AL","name":"Albania","d_code":"+355","package_zone":"1"},
"DZ":{"code":"DZ","name":"Algeria","d_code":"+213","package_zone":"2"},
"AS":{"code":"AS","name":"American Samoa","d_code":"+1","package_zone":"2"},
"AD":{"code":"AD","name":"Andorra","d_code":"+376","package_zone":"1"},
...
You see, the array keys are present multiple times and needs a lot of storage without more informational content.
One approach would be to index the array key. For example:
"id":"bxeww1tsn7cbani9dhu5rl",
"key_index":{"1":"code","2":"name","3":"d_code","4":"package_zone"},
"state":{
"countries":{
"AF":{"1":"AF","2":"Afghanistan","3":"+93","4":"2"},
"AL":{"1":"AL","2":"Albania","3":"+355","4":"1"},
"DZ":{"1":"DZ","2":"Algeria","3":"+213","4":"2"},
"AS":{"1":"AS","2":"American Samoa","3":"+1","4":"2"},
"AD":{"1":"AD","2":"Andorra","3":"+376","4":"1"},
...
I'm sure there are better approaches as well.
from vuex-multi-tab-state.
from vuex-multi-tab-state.
As @D4G0 pointed out, I didn't see the need to store so much data in local storage. The package was initially made to sync small amount of data between two tabs, like login state or similar. @j5k your solution will reduce the size of the data that vuex-multi-tab-state
uses in local storage, but I think that can be done without coding it on the plugin. You could index your state and vuex-multi-tab-state
will only have to save that indexed state.
from vuex-multi-tab-state.
Related Issues (20)
- State is fully observed and deeply cloned instead of statePaths only HOT 1
- Not Compatible with Vite
- Objects are not updating HOT 2
- Incompatibility with nuxt-vuex-localstorage HOT 3
- Vue 3 / Vuex 4 support? HOT 7
- Unable to clear localStorage key programmatically HOT 6
- How to set settings in nuxt HOT 5
- Support store structure changing HOT 8
- Document Vue 3 / vuex 4 compatibility HOT 2
- Error: do not mutate vuex store state outside mutation handlers HOT 14
- vuex-multi-tab-state and vuex-persistedstate HOT 7
- New values not set on next visit in the same browser HOT 2
- How to use with nuxt? HOT 4
- Share state between CERTAIN tabs, but not ALL tabs HOT 1
- Two vue projects sharing the same state and missing states HOT 2
- How to update state between tabs with condition?
- Use with encrypted localStorage HOT 2
- how to secure localstorage vuex-multi-tab using SecureLS HOT 1
- Misleading documentation of onBeforeReplace and onBeforeSave
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-multi-tab-state.