Я не знаю, есть ли что-то особенное в том, как работает React require
, но в целом загрузка таблицы стилей в основном означает вставку элемента <link>
, который ссылается на него.Вы можете «выгрузить» таблицу стилей, удалив элемент, который на нее ссылается.Вы также можете отключить его, установив для его атрибута rel
значение, отличное от «таблицы стилей».
Но любое изменение требует сначала найти этот элемент.Это немного грязно.
Если вы хотите иметь возможность переключаться с RTL на LTR и обратно на лету, есть лучший способ, чем «выгрузить» RTL CSS.Есть ответвление bootstrap-rtl, называемое bootstrap-rtl-ondemand , которое вместо всегда , применяющего стили RTL, применяет их, только когда для направления документа установлено значение "rtl".
Установите вышеуказанный пакет (или, если вы не используете NPM, получите хотя бы файлы CSS из репозитория Github пакета), и настройте его так, чтобы CSS загружался после Bootstrap.
ТеперьВы можете переключаться между RTL и LTR в основном по желанию.Ваш метод выше становится таким простым:
componentWillReceiveProps(nextProps) {
if (this.props.isRTL !== nextProps.isRTL) {
document.documentElement.dir = (nextProps.isRTL) ? 'rtl' : 'ltr';
}
}