prometheus

Форк
0
/
useLocalStorage.tsx 
14 строк · 514.0 Байт
1
import { Dispatch, SetStateAction, useEffect, useState } from 'react';
2

3
export function useLocalStorage<S>(localStorageKey: string, initialState: S): [S, Dispatch<SetStateAction<S>>] {
4
  const [value, setValue] = useState(() =>
5
    JSON.parse(localStorage.getItem(localStorageKey) || JSON.stringify(initialState))
6
  );
7

8
  useEffect(() => {
9
    const serializedState = JSON.stringify(value);
10
    localStorage.setItem(localStorageKey, serializedState);
11
  }, [localStorageKey, value]);
12

13
  return [value, setValue];
14
}
15

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.