Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
В чем разница между props и state?
"Props" — это данные, которые передаются в компонент извне, в то время как "state" — это внутренние данные компонента, которые могут изменяться. Props передаются родительским компонентом и неизменны, а state управляется внутри самого компонента и может изменяться в течение времени.
Как работает useReducer и когда его использовать вместо useState или Redux?
useReducer — это хук React, который управляет сложным состоянием через редюсер (функцию, обрабатывающую действия). Его стоит использовать:
Когда состояние сложное (много связанных значений, например, форма с валидацией).
Когда логика обновления нетривиальна (много условий, побочных эффектов).
Для оптимизации производительности (редюсеры помогают избежать лишних ререндеров).
Как упрощенная альтернатива Redux (если не нужен глобальный стейт).
Можно ли обновить компонент без изменения state?
Да, можно:
Через изменение props (если родитель передаёт новые данные).
Через принудительный ререндер (forceUpdate в классах или хак с useReducer).
Через внешние хранилища (Redux, Context API).
Зачем нужен State Manager и Контекст? Почему просто не создавать переменные?
Глобальные переменные – не вызывают перерендер, сложно отслеживать изменения.
Контекст (Context) – удобен для передачи данных без пропс-дриллинга.
State Manager (Redux, MobX) – предсказуемость, время-путешествие (debug), масштабируемость.
Как объединить обновление состояния для нескольких setState?
React группирует несколько вызовов setState, происходящих в одном синхронном событии, в одно обновление, чтобы избежать лишних перерендеров. Это поведение называется батчинг, и оно работает по умолчанию в обработчиках событий React, но в асинхронном коде раньше требовалось вручную вызывать flushSync или unstable_batchedUpdates.
С какими state-менеджерами приходилось работать? (Redux Toolkit, MobX, React Query)
Что такое Cookie и для чего они используются?
Почему Redux предпочитают Context в больших приложениях?
Асинхронный или синхронный setState в React?
В каких случаях Context API хуже state-менеджера?
Рейтинг:
3
Сложность:
6
Redux Toolkit предоставляет предсказуемое управление состоянием с иммутабельными обновлениями. MobX использует observable-объекты для реактивного программирования. React Query специализируется на управлении server-state и кэшировании.
Рейтинг:
3
Сложность:
4
Cookies - это небольшие текстовые данные, которые сервер отправляет браузеру для хранения. Они автоматически включаются в последующие запросы к тому же домену. Cookies используются для аутентификации пользователей, сохранения настроек и отслеживания поведения на сайте. Они имеют ограничения по размеру и сроку жизни.
Рейтинг:
5
Сложность:
8
Redux даёт более строгую и предсказуемую модель управления состоянием.
Он лучше контролирует обновления и перерендеры.
Redux масштабируется лучше, чем Context.
Поэтому его чаще выбирают для больших приложений.
Рейтинг:
5
Сложность:
6
setState в React не является строго синхронным или асинхронным. React может объединять несколько обновлений состояния для оптимизации. Обновление состояния происходит не сразу, а планируется. Поэтому сразу после вызова setState новое значение может быть недоступно. Это поведение зависит от режима выполнения и окружения.
Рейтинг:
4
Сложность:
7
Context API плохо подходит для часто изменяемого состояния. При обновлении контекста перерендериваются все подписчики. Это может приводить к проблемам с производительностью. Также Context не предоставляет инструментов для сложной логики. Поэтому для масштабных приложений часто используют state-менеджеры.
Рейтинг:
1
Сложность:
1
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
3
Рейтинг:
5
Сложность:
5
Рейтинг:
2
Сложность:
8