Вопрос №55942 от пользователя Вадим Белинович в уроке «Автоматное программирование», курс «JS: React»

Вадим Белинович

handleToggle = (e) => { e.preventDefault(); this.setState(({ opened }) => ({ opened: !opened })); }

можно ли описать setState вот так - this.setState({ opened: !opened });

3 0

Roman Makarov

Вадим Белинович, в случаях, когда новое состояние основывается на предыдущем, нужно использовать колбек-форму setState. Подробнее об этом в документации.

0

Вадим Белинович

В уроке чуть ранее про Состояние приводятся два примера

this.setState({ count: count + 1 });

this.setState({ primary: !primary });

тут без коллбеков. Это правильно?

this.setState({ submittingState: 'submitted' }); - а это из следующего упражнения

0

Roman Makarov

Вадим Белинович, в целях упрощения колбек-форма не рассматривается в уроке. В приведённых примерах изменение состояния единичное в каждом из обработчиков, поэтому их просто не с чем батчить (т.е. откладывать рендеринг до выполнения всех вызовов setState). Подробнее о механизме батчинга можно почитать тут.

this.setState({ submittingState: 'submitted' }); - а это из следующего упражнения

это нормально, колбек-форма setState используется тогда, когда изменение состояния основывается на предыдущем состоянии.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев