Руководство по использованию хука React LocalStorage для хранения данных в браузере

Под «реагирующим крючком localstorage» подразумевается специальный крючок React, который позволяет легко хранить и извлекать данные в localStorage браузера. Вот несколько методов, которые можно использовать с примерами кода:

  1. useLocalStorageПользовательский хук:

    import React, { useState } from 'react';
    const useLocalStorage = (key, initialValue) => {
    const [value, setValue] = useState(() => {
    const storedValue = localStorage.getItem(key);
    return storedValue ? JSON.parse(storedValue) : initialValue;
    });
    React.useEffect(() => {
    localStorage.setItem(key, JSON.stringify(value));
    }, [key, value]);
    return [value, setValue];
    };
    // Usage
    const App = () => {
    const [name, setName] = useLocalStorage('name', '');
    const handleNameChange = (event) => {
    setName(event.target.value);
    };
    return (
    <div>
      <input type="text" value={name} onChange={handleNameChange} />
      <p>Hello, {name}!</p>
    </div>
    );
    };
  2. Сохранение и получение данных:

    // Save to localStorage
    localStorage.setItem('key', 'value');
    // Retrieve from localStorage
    const value = localStorage.getItem('key');
  3. Удаление данных:

    // Remove a specific item from localStorage
    localStorage.removeItem('key');
    // Clear all items from localStorage
    localStorage.clear();
  4. Обработка данных JSON:

    const data = { name: 'John', age: 30 };
    // Save JSON data to localStorage
    localStorage.setItem('data', JSON.stringify(data));
    // Retrieve and parse JSON data from localStorage
    const storedData = JSON.parse(localStorage.getItem('data'));
  5. Обработка массивов:

    const array = ['apple', 'banana', 'cherry'];
    // Save array to localStorage
    localStorage.setItem('array', JSON.stringify(array));
    // Retrieve and parse array from localStorage
    const storedArray = JSON.parse(localStorage.getItem('array'));