Pull to refresh
10
4.4
Ilia Mazan@hardlight

Developer

Send message

Хватит неправильно использовать localStorage в React

Level of difficultyEasy
Reading time9 min
Reach and readers15K

localStorage кажется простым решением, пока приложение не начинает расти. useEffect, useState, рассинхронизация между компонентами, проблемы с SSR и отсутствие типизации быстро превращают его в источник багов и хаоса.

В этой статье я показываю, почему localStorage стоит рассматривать как external store, а не как обычный state React, и как правильно работать с ним с помощью useSyncExternalStore. Мы шаг за шагом усложняем реализацию: добавляем строгую типизацию, реактивность между компонентами и вкладками, поддержку sessionStorage, валидацию данных и SSR-совместимость — без Redux и лишней инфраструктуры.

Материал основан на реальном коде и практических сценариях. В конце я показываю финальную архитектуру и готовую библиотеку, которую можно использовать в продакшене, если вам нужен безопасный и предсказуемый доступ к localStorage в React-приложениях.

Читать далее

Information

Rating
1,051-st
Date of birth
Registered
Activity

Specialization

Фронтенд разработчик, Разработчик мобильных приложений
Ведущий
JavaScript
Redux
React
Kotlin