I'd consider doing the same, worst case scenario the user opens the browser development tools, deletes the local storage and well... they have to re-do the cart :)
As long as you don't store sensitive data you're fine.
I'd consider using localForage that transparently abstracts on top of IndexedDB and uses localStorage as a fallback.
Ah this is an interesting. I was actually considering using Vue in a scaled down approach just for the cart and binding local storage to a global store to handle addition and removal from different components. It’s a very simple site rails site otherwist, so I wanted to take as light handed an approach as possible. I’ll be taking a look at localForage which might work out better.
You can do the same, localForage is just a wrapper on top of the variouses client storage options. Check if it's not too big for your app and if it fits your requirements, otherwise toss it :D
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.