Zapisywanie w localStorage w React

Wprowadzenie

Tworząc lekkie aplikacje – możemy chcieć przechowywać pewne dane. Jeśli baza danych jest przesadzona – jest świetna alternatywa: localStorage!

Chociaż nie zastępuje bazy danych do celów związanych z bazą danych, służy jako prosty system pamięci masowej oparty na plikach, który można wykorzystać do przechowywania łatwo dostępnych punktów danych.

W tym artykule dowiemy się, jak korzystać localStorage do łatwego przechowywania danych w naszej przeglądarce. Te dane są zapisywane jako pary klucz-wartość które użytkownik może łatwo pobrać.

Zapisywanie danych do localStorage w React jest bardzo proste:

const [data, setData] = useState([]);

useEffect(() => {
  localStorage.setItem('dataKey', JSON.stringify(data));
}, [data]);

Jeśli nie spieszysz się i chcesz dowiedzieć się więcej o tym, jak to działa, czytaj dalej!

Co to jest Lokalny magazyn?

localStorage to obiekt do przechowywania w sieci, który umożliwia programistom przechowywanie pary klucz-wartość w przeglądarce internetowej i zapewnia, że ​​te dane przetrwają wszystkie odświeżenia strony, nawet gdy użytkownik zamknie lub ponownie uruchomi przeglądarkę – i nie ma daty ważności. Przechowywane pary klucz-wartość mogą zawierać dane dowolnego typu – tablice, obiekty, ciągi, liczby i wiele innych.

Nie może to jednak zastąpić roli baz danych w witrynach i aplikacjach internetowych, ponieważ dane są tracone, gdy użytkownik czyści pamięć podręczną przeglądarki i pamięć lokalną – ostatecznie Lokalny magazyn i jako takie powinny być używane. Niemniej jednak zdarzają się sytuacje, w których użytkownik może skorzystać localStorage, takich jak wdrożenie tryb ciemny funkcja, utrwalanie wartości wejściowych formularza użytkownika i wiele innych.

localStorage ma wbudowane metody, które umożliwiają nam dostęp do obiektu przechowywania przeglądarki. Jednym z przykładów jest setItem() metoda, która pozwala nam dodać klucz i wartość do localStorage, dzięki czemu możemy przechowywać dane. Do pobierania danych wykorzystywane są inne metody – getItem(), Usunąć dane - removeItem(), Wyczyść wszystko localStorage instancje - clear()I tak dalej.

Przechowywanie danych do Lokalny magazyn Z ustaw element() Metoda wykonania

Połączenia setItem() metoda pozwala nam zapisać wartości dowolnego typu danych do localStorage przez przypisanie wartości do kluczy, w wyniku czego a para klucz-wartość. Ten klucz byłby używany do pobierania odpowiedniej wartości, gdy tylko chcemy ją pobrać localStorage.

Uwaga: W celu przechowywania danych w localStorage, musimy go najpierw przekonwertować na ciąg JSON używając JSON.stringify() funkcjonować. A kiedy będziemy chcieli go odzyskać, przeanalizujemy dane za pomocą JSON.parse(), konwertując ciąg JSON z powrotem na a Obiekt JSON.

Podczas pracy z danymi w React często korzystamy haczyki aby pomóc nam go przechowywać/przechowywać. Hooki mogą również pomóc nam znaleźć miejsce, w którym można przesłać te dane. Dotyczy to również localStorage ponieważ użyjemy useState() i useEffect() haki. Te haczyki są krytyczne, ponieważ useState() hak służy do przechowywania i ustawiania danych, natomiast useEffect() hook jest domyślnie wywoływany po pierwszym renderowaniu i za każdym razem, gdy stan przeszedł jako drugi parametr.

Po wyjaśnieniu podstaw, oto kod, którego użyjemy do przechowywania danych w localStorage:

const [data, setData] = useState([]);

useEffect(() => {
  localStorage.setItem('dataKey', JSON.stringify(data));
}, [data]);

Najpierw stworzyliśmy stan do przechowywania danych, które chcemy przechowywać w naszym localStorage, a następnie stworzyliśmy useEffect() hook, przekazując stan jako drugi parametr. Dzięki temu za każdym razem, gdy stan się zmieni, dane w localStorage zostanie zaktualizowany do bieżącej wartości.

Zajmowaliśmy się podstawową funkcjonalnością, która służy nam do pomocy w przechowywaniu danych, w ramach useEffect() hak:

localStorage.setItem('dataKey', JSON.stringify(data));

Wnioski

W tym artykule dowiedzieliśmy się, jak używać haków React do przechowywania danych w React za pomocą localStorage. Jak wspomniano wcześniej, nigdy nie zastąpi to roli bazy danych, ale raczej pomoże nam w przechowywaniu niektórych danych związanych z użytkownikiem, które mogą ulepszyć interfejs użytkownika, ale nie mają być utrwalane niezależnie od przeglądarki.

Znak czasu:

Więcej z Nadużycie stosu