로컬 스토리지는 웹 브라우저가 데이터를 사용자 컴퓨터에 저장할 수 있게 해주는 기능입니다. 로컬 스토리지에 저장된 데이터는 브라우저를 닫았다가 다시 열어도 유지됩니다.
import { useState, useEffect } from 'react';
const ThemeSwitcher = () => {
const [theme, setTheme] = useState('light');
useEffect(() => {
const savedTheme = localStorage.getItem('theme');
if (savedTheme) {
setTheme(savedTheme);
}
}, []);
const toggleTheme = () => {
const newTheme = theme === 'light' ? 'dark' : 'light';
setTheme(newTheme);
localStorage.setItem('theme', newTheme);
};
return (
<div className={theme}>
<button onClick={toggleTheme}>
{theme === 'light' ? 'Switch to Dark Mode' : 'Switch to Light Mode'}
</button>
</div>
);
};
export default ThemeSwitcher;
이 예시에서는 사용자가 클릭할 때마다 테마를 전환하고, 현재 테마를 로컬 스토리지에 저장합니다. 페이지를 새로 고침해도 선택한 테마가 유지됩니다.