Выбор ответа Middle Микрофронтенды и монорепо обновлено

shared singleton в Module Federation

Вопрос

Зачем в Module Federation для react и react-dom указывают shared: { react: { singleton: true } }?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Чтобы на странице была одна копия React для хуков. Если хост и remote подтянут свои копии React, хуки упадут с ошибкой о неправильном вызове, а контексты не будут видны между частями. singleton гарантирует одну загруженную версию, при несовпадении требований будет предупреждение.

Варианты ответа

  1. Чтобы React загружался с публичного CDN, а не из бандла
  2. Чтобы remote мог работать отдельно, без загрузки хоста
  3. Чтобы включить серверный рендеринг для remote-модулей
  4. Чтобы на странице была одна копия React для хуковправильный ответ

Разбор

Если хост и remote подтянут свои копии React, хуки упадут с ошибкой о неправильном вызове, а контексты не будут видны между частями. singleton гарантирует одну загруженную версию, при несовпадении требований будет предупреждение. С CDN, автономностью remote и SSR эта опция не связана.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.