С какими стейт-менеджерами приходилось работать
Что проверяют
Понимаете ли вы, какую задачу решает каждый, и умеете ли выбирать по ситуации.
Как отвечать
Сначала мысль, которая важнее списка: большая часть того, что кладут в глобальное хранилище, это кэш серверных данных, а не состояние приложения. Как только эти данные уходят в специализированный инструмент, глобального состояния остаётся немного, и вопрос выбора становится проще.
Что назвать:
Redux с Redux Toolkit: предсказуемый однонаправленный поток, всё состояние в одном месте, отличная отладка с историей действий. Toolkit убрал главную претензию к нему, многословность: срез вместо россыпи констант и создателей действий, изменяемый синтаксис поверх неизменяемых данных. Уместен, когда есть настоящее сложное клиентское состояние.
Effector: модель на событиях, хранилищах и эффектах. Сильные стороны это явное описание связей между данными, вычисляемые хранилища и то, что логика не привязана к компонентам и хорошо тестируется отдельно. Обработка асинхронности встроена, отдельный промежуточный слой не нужен. Порог входа выше, зато на сложных сценариях код получается заметно чище.
Zustand и Jotai: минималистичные. Первый это хранилище с хуком доступа и подписка на нужную часть, второй атомарный подход, где состояние собирается из мелких независимых кусочков. Обоим не нужны провайдеры и шаблонный код.
MobX: наблюдаемое состояние с автоматическим отслеживанием зависимостей. Кода мало, но неявность отслеживания усложняет отладку.
Контекст React: транспорт, а не хранилище. Изменение значения перерисовывает всех потребителей, селекторов нет.
Правило выбора: серверные данные в кэш запросов, локальное состояние в компонент, в URL то, что должно переживать перезагрузку и передаваться ссылкой, и только оставшееся в глобальное хранилище.
Где спотыкаются
Кладут ответы сервера в глобальное хранилище вручную.
Берут тяжёлое решение под задачу с двумя флагами.
Используют контекст как хранилище и получают лавину перерисовок.
Не могут объяснить, чем один инструмент отличается от другого по существу.