Sitemap
Bits and Pieces

Insightful articles, step-by-step tutorials, and the latest news on full-stack composable software development

Follow publication

How to Use the Web Storage API

7 min readMar 24, 2020

--

Zoom image will be displayed
Zoom image will be displayed

Managing reusable component states with localStorage

Components shared to Bit.dev’s component hub
A reusable React component with the useLocalStorage hook, shared on bit.dev — https://bit.dev/webconnex/clients/hooks/use-local-storage

localStorage

Console>> localStorage
> Storage { length: 0 }
>>
Zoom image will be displayed
Zoom image will be displayed
window.localStorage
localStorage

Some important notes on localStorage

localStorage.setItem("num", 90)
localStorage.setItem("user", { name: "nnamdi", age: 21 })
localStorage.getItem("num") // "90"
localStorage.getItem("user") // "[ object Object ]"
const user = {
name: "nnamdi",
age: 27,
occupation: "doesn't know what he is doing"
}
localStorage.setItem("user", JSON.stringify(user))
localStorage.getItem("user") // "{ name: "nnamdi", age: 27, occupation: "doesn't know what he is doing" }"
localStorage.getItem("user") // "{ name: "nnamdi", age: 27, occupation: "doesn't know what he is doing" }"const userLocal = JSON.parse(localStorage.getItem("user")) // { name: "nnamdi", age: 27, occupation: "doesn't know what he is doing" }userLocal.name // "nnamdi"
https://doc.origin.com
localStorage.setItem("name", "nnamdi")
on https://app.inapp.com
localStorage.setItem("name", "chidume")
If we try to get the value of the "name" key:on https://doc.origin.com
localStorage.getItem("name") // "nnamdi"
on https://app.inapp.com
localStorage.getItem("name") // "chidume"

sessionStorage

mySessionStorage = window.sessionStorage || sessionStorage

sessionStorage.setItem("userId", "23ert5Y")
sessionStorage.setItem("name", "nnamdi")

sessionStorage.getItem("userId") // "23ert5Y"
sessionStorage.getItem("name") // "nnamdi"

sessionStorage.length // 2
sessionStorage.key(0) // "23ert5Y"
sessionStorage.key(1) // "nnamdi"

sessionStorage.removeItem("name")
sessionStorage.getItem("name") // undefined

sessionStorage.clear()
sessionStorage.getItem("userId") // undefined
sessionStorage.getItem("name") // undefined
sessionStorage.clear()
sessionStorage.getItem("userId") // undefined
sessionStorage.getItem("name") // undefined

Some important notes on sessionStorage

We create a sessionStorage at https://doc.origin.com

sessionStorage.setItem("name", "nnamdi")

If we open another tab at https://doc.origin.com

sessionStorage.getItem("nnamdi") // undefined

The sessionStorage at the second tab is different from the sessionStorage at the first tab despite being at the same origin https://doc.origin.com, very unlike localStorage.

Web Storage event

window.onstorage = function(event) {}

window.onstorage = function({
key,
oldValue,
newValue,
url,
storageArea
}) {}

Conclusion

Differs

Sameness

Learn More

--

--

Bits and Pieces
Bits and Pieces

Published in Bits and Pieces

Insightful articles, step-by-step tutorials, and the latest news on full-stack composable software development

Chidume Nnamdi 🔥💻🎵🎮
Chidume Nnamdi 🔥💻🎵🎮

Written by Chidume Nnamdi 🔥💻🎵🎮

JS | Blockchain dev | Author of “Understanding JavaScript” and “Array Methods in JavaScript” - https://app.gumroad.com/chidumennamdi 📕

Responses (2)

Write a response