У меня есть приложение REACT (загруженное с create react app
и react-bootstrap
), для которого я пытаюсь добавить опцию переключения на ТЕМНУЮ тему, если пользователь включил это в своих настройках. Я храню настройки на сервере и извлекаю их в свойства.
У меня есть отдельная таблица стилей с именем dark.css
, где все мои стили компонентов переопределены.
dark. css (пример) :
#root {
background-color: var(--dark);
color: var(--light)
}
.card {
background-color: var(--dark); // overriding bootstrap styles here
}
Я пытаюсь применить его к root моего приложения следующим образом:
componentWillReceiveProps() {
if (this.props.profile && this.props.profile.theme === 'dark') {
require('./styles/dark.css');
}
}
Отлично работает при локальном запуске приложения с yarn start
. Но когда я на самом деле собираю приложение с помощью веб-пакета, оно работает очень странно. Часть новых стилей применяется и частично независимо от выбранной темы. Например, фон применяется из основной темы и игнорируется в темной теме, но цвет текста противоположен.
Почему это происходит?
Кажется, что темная таблица стилей не применяется в все при сборке приложения с веб-пакетом, хотя все выглядит правильно при запуске с yarn start
.