Перейти к основному содержимому

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}

Доступны следующие функции для работы с локальным хранилищем:

Параметры#

НазваниеТипОписание
valueT, undefinedВозвращает значение локального хранилища по ключу.
setValueT, unknown, undefinedУстанавливает значение локального хранилища.
removeValuestringУдаляет значение из локального хранилища по ключу.
clearAllValues() => voidОчищает все значения локального хранилища.