dev-resources.site
for different kinds of informations.
Using Local Storage API With JavaScript And React JS
JavaScript āĻāĻŦāĻ React āĻ Local Storage API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻ˛ā§āĻāĻ¨āĻž
JavaScript āĻāĻŦāĻ React āĻ Local Storage API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻŦ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻĒā§āĻ, āĻ¯āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻĄā§āĻāĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ¤ā§ āĻĄā§āĻāĻž āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ°ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻŦāĻž āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻāĻ°āĻ˛ā§āĻ āĻĄā§āĻāĻž āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤
Local Storage āĻāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯:
- Key-Value Pair Storage: Local storage āĻĄā§āĻāĻž key-value pair āĻāĻāĻžāĻ°ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤
- Persistent Storage: āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§āĻ āĻĄā§āĻāĻž āĻĨāĻžāĻā§āĨ¤
- String Data: Local storage āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° string āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- 5MB Data Limit: Local storage āĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ 5MB āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
- No Expiry Date: Cookies āĻāĻ° āĻŽāĻ¤ā§ Local storage āĻāĻ° āĻā§āĻ¨ā§ expiration time āĻĨāĻžāĻā§ āĻ¨āĻžāĨ¤
Local Storage Methods:
-
localStorage.setItem(key, value)
: āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ -
localStorage.getItem(key)
: āĻĄā§āĻāĻž āĻ°āĻŋāĻā§āĻ°āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ -
localStorage.removeItem(key)
: āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ key āĻāĻ° āĻĄā§āĻāĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ -
localStorage.clear()
: āĻ¸āĻŦ āĻĄā§āĻāĻž āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
React āĻ Local Storage āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°:
React āĻ, local storage āĻĄā§āĻāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ React āĻāĻ° useEffect āĻāĻŦāĻ useState āĻšā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻĨāĻŽ āĻ˛ā§āĻĄ āĻšāĻ¯āĻŧ āĻŦāĻž āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻĄā§āĻāĻž local storage āĻĨā§āĻā§ āĻāĻ¨āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
React āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ theme
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻšāĻ˛ā§, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĨāĻŋāĻŽā§āĻ° āĻ¤āĻĨā§āĻ¯ local storage āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
import React, { useState, useEffect } from "react";
function App() {
// local storage āĻĨā§āĻā§ theme āĻāĻ¨āĻ¤ā§ useState āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§
const [theme, setTheme] = useState(() => {
return localStorage.getItem("theme") || "light";
});
// useEffect āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ local storage āĻ theme āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻā§āĻā§
useEffect(() => {
localStorage.setItem("theme", theme);
}, [theme]);
// āĻĨāĻŋāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ function
const toggleTheme = () => {
setTheme((prevTheme) => (prevTheme === "light" ? "dark" : "light"));
};
return (
<div className={`App ${theme}`}>
<h1>{theme === "light" ? "Light Mode" : "Dark Mode"}</h1>
<button onClick={toggleTheme}>
Switch to {theme === "light" ? "Dark" : "Light"} Mode
</button>
</div>
);
}
export default App;
āĻā§āĻĄ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ:
useState: āĻāĻāĻžāĻ¨ā§
theme
state āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ initial value local storage āĻĨā§āĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¯āĻĻāĻŋ local storage āĻ āĻā§āĻ¨ā§ theme āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ defaultlight
āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤useEffect: āĻ¯āĻāĻ¨āĻ
theme
state āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨useEffect
āĻĢāĻžāĻāĻļāĻ¨ āĻ°āĻžāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨theme
local storage āĻ āĻ¸ā§āĻ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧāĨ¤toggleTheme: āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĨāĻŋāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž
light
āĻĨā§āĻā§dark
āĻŦāĻždark
āĻĨā§āĻā§light
āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
Local Storage āĻ Object āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ:
Local storage āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° string āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ object āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŋāĻā§ JSON.stringify() āĻĻāĻŋāĻ¯āĻŧā§ string āĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ JSON.parse() āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ object āĻ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ:
// Object āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž
const user = { name: "John", age: 30 };
localStorage.setItem("user", JSON.stringify(user));
// Object āĻ°āĻŋāĻā§āĻ°āĻŋāĻ āĻāĻ°āĻž
const storedUser = JSON.parse(localStorage.getItem("user"));
console.log(storedUser); // Output: { name: "John", age: 30 }
React āĻ Local Storage āĻāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻā§āĻ° āĻāĻŋāĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
- User Authentication: āĻ˛āĻāĻāĻ¨ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¤āĻĨā§āĻ¯ local storage āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒ āĻā§āĻ˛āĻ˛ā§ āĻāĻŦāĻžāĻ° āĻ˛āĻāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤
- Theme Settings: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻāĻ¨ā§āĻĻā§āĻ° āĻĨāĻŋāĻŽ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¯āĻžāĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻ¸ā§ āĻ ā§āĻ¯āĻžāĻĒ āĻā§āĻ˛āĻ˛ā§ āĻāĻā§āĻ° āĻĨāĻŋāĻŽ āĻ°āĻŋāĻŽā§āĻŽā§āĻŦāĻžāĻ° āĻšāĻ¯āĻŧāĨ¤
- Shopping Cart: āĻ-āĻāĻŽāĻžāĻ°ā§āĻ¸ āĻ¸āĻžāĻāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻļāĻĒāĻŋāĻ āĻāĻžāĻ°ā§āĻā§āĻ° āĻ¤āĻĨā§āĻ¯ local storage āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻāĻāĻžāĻŦā§ React āĻ local storage āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻĄā§āĻāĻž persistent āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ āĻāĻŋāĻā§āĻāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
Local Storage āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: Local storage āĻ sensitive āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ-āĻ¸āĻžāĻāĻĄ āĻ āĻ¸ā§āĻā§āĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻšāĻā§āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ Sensitive āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ sessionStorage āĻŦāĻž cookies āĻāĻ° āĻŽāĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
Featured ones: