#css #reactjs #conditional-operator
Вопрос:
У меня есть приложение React, и я хочу изменить класс CSS, когда выполняется то или иное условие. Как мне это сделать?
Итак, если validation
или validationNoExist
есть false
, то класс CSS должен быть input-form-validation-wrong
, если оба верны, то выбирается первый класс.
Вот мой код:
<input type="email" className={validation || validationNoExist ? 'input-form' : 'input-form-validation-wrong'} placeholder="E-Mail" />
Ответ №1:
Это может быть просто проблемой группировки логического оператора, чтобы они оценивались как единица для проверки условий для троичного. Они оба должны быть истинными, чтобы троичный возвращал «форму ввода».
<input
type="email"
className={(validation amp;amp; validationNoExist) ? 'input-form' : 'input-form-validation-wrong'}
placeholder="E-Mail"
/>
console.log((false amp;amp; false) ? 'input-form' : 'input-form-validation-wrong');
console.log((true amp;amp; false) ? 'input-form' : 'input-form-validation-wrong');
console.log((false amp;amp; true) ? 'input-form' : 'input-form-validation-wrong');
console.log((true amp;amp; true) ? 'input-form' : 'input-form-validation-wrong');
Ответ №2:
<input type="email" className={(validation || validationNoExist) ? 'input-form' : 'input-form-validation-wrong'} placeholder="E-Mail" />