PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Должны ли микрофронтенды использовать общие данные?

Продвинутые темы

Микрофронтенды могут использовать общие данные, но это нужно делать осторожно: чрезмерная общность нарушает их независимость. Общее состояние минимизируют и передают через явные контракты.

Дилемма

Микрофронтенды — способ разбить крупное приложение на независимые части, разрабатываемые и деплоящиеся отдельно. Их сила в независимости, поэтому общие данные — риск связанности.

Когда общие данные нужны

Некоторые данные объективно общие:

  • Авторизованный пользователь, токен.
  • Тема, локаль.
  • Корзина (в e-commerce), между несколькими микрофронтендами.

Как делать правильно

Минимизировать общее

Делить только действительно общие данные, остальное — локально в каждом микрофронтенде.

Явные контракты

Обмениваться через чёткие интерфейсы, а не общий мутабельный store:

  • События (event bus, CustomEvent).
  • Общий модуль/сервис (shared library) с явным API.
  • URL/query-параметры для состояния.
  • Props при композиции.

Избегать тесной связанности

Не делать общий глобальный store, от которого зависят все — это превращает микрофронтенды в монолит.

Риски чрезмерной общности

  • Потеря независимого деплоя (изменение общих данных ломает всех).
  • Конфликты версий общего кода.
  • Сложность отладки распределённого состояния.

Коротко для собеседования

Микрофронтенды могут использовать общие данные (пользователь, тема, корзина), но общность минимизируют, чтобы сохранить независимость. Обмениваются через явные контракты (события, shared-сервис с API, URL, props), а не общий мутабельный store. Чрезмерная общность превращает микрофронтенды в монолит и ломает независимый деплой.

Другие вопросы раздела