Проверяет понимание способов синхронизации состояния и идентификации пользователя между независимыми микрофронтендами в одной странице.
Микрофронтенды — это архитектурный подход, при котором одна страница собирается из нескольких независимо разрабатываемых и деплоимых приложений. Поскольку они не знают друг о друге на этапе сборки, обмен состоянием и идентификацией пользователя требует явных, слабо связанных механизмов. Прямые импорты между микрофронтендами ломают изоляцию и приводят к циклическим зависимостям.
window.dispatchEvent и addEventListener, не зная друг о друге.// shared/auth.js — публикуется host-приложением
const listeners = new Set();
let currentUser = null;
export const auth = {
getUser: () => currentUser,
setUser(user) {
currentUser = user;
window.dispatchEvent(new CustomEvent('auth:change', { detail: user }));
},
subscribe(cb) {
listeners.add(cb);
const handler = (e) => cb(e.detail);
window.addEventListener('auth:change', handler);
return () => {
listeners.delete(cb);
window.removeEventListener('auth:change', handler);
};
}
};
// microfrontend A
auth.subscribe(user => renderHeader(user));
// microfrontend B
auth.setUser({ id: 1, name: 'Ann' });Итог: применять общий стор или Custom Events стоит, когда микрофронтенды должны реагировать на изменения пользователя и общее состояние; для простых случаев достаточно cookies и URL, а для крупных систем — выделенный shared-модуль с версионируемым контрактом.
Уровень
Рейтинг:
4
Сложность:
7
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию