Задать вопрос
@kokapuk

Чем плохо использование localstorage вне хука useEffect?

В общем, у меня есть приложение, которое подгружает данные из localstorage в состояние и уже из состояния в поле defaultValue в инпутах, и поскольку useEffect вызывается первый раз только после рендера, то при подгрузке значение в инпутах уже не меняется, так как defalutValue устанавливается лишь единожды, я нашел для себя такой выход:
const [settings, setSettings] = useState<ISettings>(
    localStorage.getItem("settings") == null ? defaultSettings : (JSON.parse(localStorage.getItem("settings")!) as ISettings)
  );

чем это плачевно и плачевно ли это вообще?
  • Вопрос задан
  • 283 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • Академия Eduson
    React-разработчик
    2 месяца
    Далее
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
Вполне рабочий вариант. Я бы только обернул это дело в стрелочную функцию, чтобы на каждом рендере не лазить в локалсторадж
const [settings, setSettings] = useState<ISettings>(() => 
    localStorage.getItem("settings") == null ? defaultSettings : (JSON.parse(localStorage.getItem("settings")!) as ISettings)
  );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽