@Kipsi

Как в react можно добавлять классы на элементы?

В js можно добавлять классы используя например

const header = document.querySelector(`.header`);
  if (условие) {
      header.classList.add(`active`);
  }

А как в react'e можно делать подобное кроме как через

const box = props => {
  const deff = ['deff']
    if (props.name !== '') {
      deff.push('metal')
    } else {
      deff.push('energ')
    }
 
   return (
     <input
        className={deff.join(' ')}
      />
   )
}

Можно ли в нем тоже использовать classList.add или querySelector например?
  • Вопрос задан
  • 2917 просмотров
Решения вопроса 2
@Che603000
c 2011 javascript
Обычно используют https://www.npmjs.com/package/classnames

В Вашем случае:
const classNames = require('classnames');

const box = props => {

  const inputClass = classNames('deff', {
        metal:  props.name,
        energ: !props.name
   });

   return  <input className={inputClass} />;
}
Ответ написан
Комментировать
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
return (
     <input
        className={props.name !== ''?'deff  metal':' deff  energ'}
      />
   )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
29 мар. 2024, в 10:00
10000 руб./за проект
29 мар. 2024, в 09:59
750 руб./в час
29 мар. 2024, в 09:55
50000 руб./за проект