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

Не сразу обновляется useState?

у меня проблема в том что когда я нажимаю на кнопку у меня проходит валидация инпутов и когда валидация не проходит у меня в useState записывается ошибка и после этого мне нужно узнать сколько ошибок. Но при первом клике у меня выдает что 0 ошибок хотя на странице отображаются ошибки а если кликаю второй раз то пишет все нормально
function addFilmHandler() {
    Object.keys(form).forEach((key) => setErrors((state) => ({ ...state, [key]: validateField(key, form[key]) })));
    console.log(Object.keys(errors).filter((key) => errors[key]).length);
 }
  • Вопрос задан
  • 1231 просмотр
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
В этом обработчике ты изменения стейта не увидишь.
Если тебе нужно посмотреть изменения в console.log, то вызывай его в useEffect
https://reactjs.org/docs/hooks-reference.html#usestate
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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