Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: microfrontends, communication, event bus, shared state, custom events

Как микрофронтенды взаимодействуют друг с другом в рамках одного приложения?

Вопрос проверяет понимание способов коммуникации между микрофронтендами в едином приложении.

Короткий ответ

Микрофронтенды могут взаимодействовать через глобальное событие (Event Bus), общее состояние (например, Redux store), URL-параметры или через родительский контейнер. Каждый микрофронтенд подписывается на события или читает общие данные. Это позволяет им обмениваться информацией, не нарушая изоляцию.

Длинный ответ

Способы взаимодействия микрофронтендов

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

Основные подходы

  • Event Bus (шина событий): глобальный объект, через который микрофронтенды отправляют и получают события. Например, один микрофронтенд публикует событие 'userLoggedIn', а другой подписывается на него и обновляет UI.
  • Общее состояние (Shared State): использование единого хранилища, такого как Redux или MobX, доступного всем микрофронтендам. Изменения в одном модуле автоматически отражаются в других.
  • URL и маршрутизация: передача данных через query-параметры или хэш URL. Например, при переходе между микрофронтендами информация о текущем пользователе передается в адресной строке.
  • Родительский контейнер (Shell): главное приложение выступает посредником, передавая пропсы или вызывая методы дочерних модулей.

Пример с Event Bus

// Микрофронтенд A публикует событие
window.eventBus.publish('cartUpdated', { items: 3 });

// Микрофронтенд B подписывается
window.eventBus.subscribe('cartUpdated', (data) => {
  console.log('Корзина обновлена:', data.items);
});

Вывод

Выбор способа зависит от сложности приложения: для простых сценариев подходит Event Bus, для сложных — общее состояние. Главное — сохранять слабую связанность, чтобы микрофронтенды оставались независимыми.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

  • React

    React

Ключевые слова

#microfrontends

#communication

#event bus

#shared state

#custom events

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию