useLocalStorage
#
Для чего нуженДанный хук позволяет управлять локальным хранилищем через браузерное API. Есть возможность считывать, записывать новые и удалять значения из локального хранилища.
#
ПреимуществаИспользуя данный хук, вы сможете удобным способом считать данные по ключу и записать новые значения в локальное хранилище. Так как в локальном хранилище все данные хранятся в виде строк, данный хук уже содержит в себе парсинг этих значений из строки.
#
Как начать использоватьДля того чтобы начать использовать этот хук, вам нужно импортировать его в проект:
import React from 'react';import { useLocalStorage } from 'react-hooks-kit';
const Component = () => { const { value, setValue, removeValue, clearAllValues } = useLocalStorage({key: 'theme'});
// Выводит в консоль значение по умолчанию console.log(value); // undefined
// Компонент кнопки // Добавляет значение в localStorage <button onClick={() => setValue({ mode: 'light' })}>Добавить тему</button>
// Выводит в консоль новое значение console.log(value); // { mode: 'light' }}
Также можно установить начальное состояние для ключа в локальном хранилище: Параметр initialValue не обязательный.
import React from 'react';import { useLocalStorage } from 'react-hooks-kit';
const Component = () => { const { value, setValue, removeValue, clearAllValues } = useLocalStorage({key: 'theme', initialValue: { mode: 'light' }});
// Выводит в консоль значение по умолчанию console.log(value); // { mode: 'light' }
// Компонент кнопки // Добавляет значение в localStorage <button onClick={() => setValue({ mode: 'dark' })}>Поменять тему</button>
// Выводит в консоль новое значение console.log(value); // { mode: 'dark' }}
Так же есть возможность удалять значения из локального хранилища:
import React from 'react';import { useLocalStorage } from 'react-hooks-kit';
const Component = () => { const { value, setValue, removeValue, clearAllValues } = useLocalStorage({key: 'theme', initialValue: { mode: 'light' }});
// Выводит в консоль значение по умолчанию console.log(value); // { mode: 'light' }
// Компонент кнопки // Удаляет значение из localStorage по ключу <button onClick={() => removeValue('theme')}>Удалить тему</button>
// Выводит в консоль новое значение console.log(value); // undefined}
Как и в браузерном API, добавлена возможность полной очистки локального хранилища:
import React from 'react';import { useLocalStorage } from 'react-hooks-kit';
const Component = () => { const { value, setValue, removeValue, clearAllValues } = useLocalStorage({key: 'theme', initialValue: { mode: 'light' }});
// Выводит в консоль значение по умолчанию console.log(value); // { mode: 'light' }
// Компонент кнопки // Очищает все значения из localStorage <button onClick={() => clearAllValues()}>Очистить локальное хранилище</button>
// Выводит в консоль новое значение console.log(value); // undefined}
Доступны следующие функции для работы с локальным хранилищем:
#
ПараметрыНазвание | Тип | Описание |
---|---|---|
value | T, undefined | Возвращает значение локального хранилища по ключу. |
setValue | T, unknown, undefined | Устанавливает значение локального хранилища. |
removeValue | string | Удаляет значение из локального хранилища по ключу. |
clearAllValues | () => void | Очищает все значения локального хранилища. |