Почему React-Bootstrap дублирует пользовательские имена классов в элементе?

Я использую React-Bootstrap, и я применяю некоторые пользовательские классы к компоненту с помощью bsClass: Пример:

<Button bsClass = "exit action">Exit</Button>

Визуализированный HTML-код:

<button type = "button" class = "exit action exit action-default">Exit the Exam</button>

Почему повторяются имена классов (выход и действие)?

Похоже на ошибку в react-bootstrap (мне удалось легко воспроизвести)

Ted 06.11.2018 20:27

Спасибо и приятно знать. Я только начал с React и React-Bootstrap, поэтому я пытался углубить свое понимание, но это меня озадачило.

LockettKs 06.11.2018 20:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
474
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Из документации React-Bootstrap для компонента кнопки, https://react-bootstrap.github.io/components/buttons/,

bsClass:String - Base CSS class and prefix for the component. Generally one should only change bsClass to provide new, non-Bootstrap, CSS styles for a component.

Итак, bsClass - это просто базовый класс, который добавляется к кнопке, и префикс для фактического класса стиля, чтобы сопоставить стандарты начальной загрузки.

<Button>Default</Button> 

генерирует

<button type = "button" class = "btn btn-default">Default</button>

и, следовательно

<Button bsStyle = "primary" bsClass = "custom">Default</Button>

будет генерировать

<button type = "button" class = "custom custom-primary">Default</button>

и в вашем случае, по соглашению, -default получил префикс со строкой, которую вы предоставили exit action, и она стала exit action-default.
: Либо у вас есть структура CSS, чтобы сохранить этот стандарт, либо, в идеале, рекомендуется использовать bootstrapUtils для создания пользовательских стилей. https://react-bootstrap.github.io/utilities/custom-styles/

Другие вопросы по теме