Конфликт между стилизованными компонентами и объединенными модулями Webpack 5 (недопустимый вызов подключения)

#javascript #reactjs #webpack #styled-components

#javascript #reactjs #webpack #стилизованные компоненты

Вопрос:

Пробовал федерацию модулей Webpack 5 и столкнулся с этой проблемой. Пробовал много подходов, но ни один из них, похоже, не работает. В основном, когда я пытаюсь использовать styled-components объединенный модуль, я получаю Invalid hook call ошибку React.

Вот репозиторий, который пытается воспроизвести проблему:

Интересно, я что-то упускаю или это какая-то ошибка.

Комментарии:

1. Сделано сообщение об ошибке github.com/styled-components/styled-components/issues/3302

Ответ №1:

Проблема решена путем указания Webpack использовать React как одноэлементный.

В foo/webpack.config.js я изменил shared на [{ react: { singleton: true } }] .

 new ModuleFederationPlugin({
  name: 'foo',
  filename: 'remoteEntry.js',
  exposes: {
    './Foo': './src/App',
  },
  shared: [{ react: { singleton: true } }],
})
  

Большое спасибо Заку Джексону!