🎯 Зачем спрашивают
- Проверить, понимает ли кандидат разницу между локальными инструментами React и отдельными state management решениями.
- Увидеть, способен ли он рассуждать о масштабируемости приложения: когда простых инструментов хватает, а когда нужен полноценный state manager.
- Проверить знание trade-offs: простота vs удобство разработки, перформанс vs инфраструктурные затраты.
- Понять, знаком ли кандидат с популярными библиотеками (Redux, Zustand, Recoil, MobX) и их преимуществами.
- Увидеть инженерное мышление: умеет ли объяснить, почему команда может выбрать одно решение вместо другого.
📝 Ответ
Context API — встроенный в React функционал для избавления от props drilling.
Если ваше приложение имеет немного состояний, то можно взять комбинацию Context API + useReducer, чтобы собрать на коленке свой mini state manager без использования сторонней библиотеки.
⚖️ Компромиссы
✅ Плюсы | ❌ Минусы |
Быстро
Можно быстро накидать “на коленке” и интегрировать в проект | Перфоманс
Если неправильно располагать контекст, может привести к лишним перерендерам |
Легковестно
Самописное решение почти ничего не весит, не тащит еще зависимостей в код | Свой костыль
Плохо масштабируется, нет тулзов. Придется писать для этого утилиты. Тогда почему бы не взять готовое решение, где за вас все уже написали? |
🔎 Встречные вопросы
- Как оптимизировать перерендеры при использовании Context?
🚩 Красные флаги
- Context API всегда достаточно.
- Называет только props drilling, но не понимает проблем оптимизации.
- Не может назвать state managers (Redux, Zustand, MobX, Recoil).