Задать вопрос
@0348raven

Объясните пожалуйста пользу NPM-пакета «classnames» для изоморфных приложений?

Буду рад получить объяснение, что говорят "на пальцах", как и гдк я могу использовать этот пакет?
Пример был бы полезен также.

Ссылка на пакет.

Заранее спасибо!
  • Вопрос задан
  • 585 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@deight
Разницы нет где это использовать, этот пакет просто дает удобный способ объединять различные классы HTML правильно.
Но лучше используйте html-classes, этот пакет работает быстрее.
Вы например можете сделать так:
function createElement (type) {
  const element = document.createElement(type)
  element.className = `${type} ${type === 'a' ? 'link' : ''}`
  return element
}

Эта функция будет возвращать элемент с классом равным типу и если тип равен `a` то дополнительно с классом `link`.
createElement('div') // <div class="div "></div>
createElement('a') // <a class="a link"></a>

Но во первых появляется лишний пробел в div, а во вторых если условий будет больше в них легко запутаться, код будет уродским и тому подобное. Гораздо краше будет выглядить с html-classes.
function createElement (type) {
  const element = document.createElement(type)
  element.className = classes(type, {link: type === 'a'})
  return element
}

Где classes это html-classes
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы