TGViewer
Frontender Libs - обзор библиотек JS / CSS Frontender Libs - обзор библиотек JS / CSS @swebdev · 7.45K subscribers
Post #4064 834
Управление состоянием с сохранением в LocalStorage

В React хук useLocalStorage сохраняет состояние в localStorage. При инициализации берёт данные из него (если есть), при обновлении — синхронно записывает. Удобно для темы, языка и других настроек, сохраняемых между сессиями.

import { useState, useEffect } from 'react';

function useLocalStorage<T>(key: string, initialValue: T) {
const [value, setValue] = useState<T>(() => {
try {
const storedValue = localStorage.getItem(key);
return storedValue ? JSON.parse(storedValue) : initialValue;
} catch {
return initialValue;
}
});

useEffect(() => {
try {
localStorage.setItem(key, JSON.stringify(value));
} catch {
// Игнорируем ошибки (например, если storage переполнен)
}
}, [key, value]);

return [value, setValue] as const;
}


Теперь можно использовать его, как обычный useState, но с автоматическим сохранением.

👉 @sWebDev
  • ❤ 2
  • 👍 1
More from @swebdev
  1. Sep 26, 2026🤖 AI для фронтенд-разработчика: собираем инструменты на Podlodka Frontend Crew AI-инструм…
  2. Mar 23, 2026👉 @sWebDev | #книги
  3. Mar 23, 2026JavaScript для профессиональных веб-разработчиков Автор доступно объясняет сложные концепц…
  4. Jan 27, 2026Tabulator Библиотека, которая превращает HTML-таблицы или данные из JavaScript в интеракти…
  5. Jan 9, 2026Post #4134
  6. Jan 9, 2026Отложенный вызов Вопрос: Что произойдёт, если передать null в качестве задержки в useTimeo…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →