Зачем нужен state manager, если есть Context API и useReducer?

🎯 Зачем спрашивают
  • Проверить, понимает ли кандидат разницу между локальными инструментами 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).
 
🛠 Практика
 
 
📚 Источники / ссылки