В StackOverflow было много вопросов, касающихся применения условных имен классов к компонентам React;однако я не нашел хорошего ответа для этой конкретной ситуации:
У меня есть базовый div, который я хочу условно применить класс "is-required".Вот мой подход:
<div className={`some-class ${isRequired && 'is-required'}`}>
Основная проблема заключается в том, что когда isRequired имеет значение false, мой скомпилированный HTML-код выглядит примерно так:
<div class='some-class false'>
Очевидно, я мог бы использоватьтроичный оператор, подобный этому, так что я могу вместо этого вернуть пустую строку:
<div className={`some-class ${isRequired ? 'is-required' : ''}`}>
Но затем в скомпилированном HTML-коде есть это дополнительное случайное пространство, включенное в класс, которое не вызовет проблем рендеринга,но мне все еще не нравится:
<div class='some-class '>
Даже если бы я мог удалить пробел после «someClass» и включить его перед «isRequired», но теперь его труднее читать и он выглядит неуклюжим:
<div className={`some-class${isRequired ? ' is-required' : ''}`}>
Я слышал об утилитах, таких как имена классов, но я ищу простое решение, в котором мне не нужны никакие дополнительные пакеты.
Какой рекомендуемый подход здесь?