Об этом проекте
Classnames — это JavaScript-утилита, которая формирует строку CSS-классов, разделённых пробелами, из условных входных данных. Её можно установить из npm как `classnames` и использовать в Node.js, Browserify, webpack, RequireJS или напрямую в браузере через отдельный скрипт.
Основная функция `classNames` принимает любое количество аргументов. Строки включаются напрямую, а ключи объекта включаются только тогда, когда связанное с ними значение истинно. Ложные значения, такие как `false`, `null`, `undefined`, `0` и пустые строки, игнорируются. Массивы рекурсивно разворачиваются по тем же правилам. Вычисляемые ключи объектов из ES2015 можно использовать для создания динамических имён классов.
Пакет часто применяется с React для упрощения условного свойства `className`, заменяя ручную конкатенацию строк и устаревшее дополнение React `classSet`. Он позволяет объединить базовый класс, класс, переданный компонентом, и классы, зависящие от состояния, в одном вызове.
Предоставляются два дополнительных варианта. `classnames/dedupe` удаляет повторяющиеся классы и позволяет более поздней ложной записи объекта исключить более ранний класс; в README отмечается, что этот вариант работает медленнее. `classnames/bind` предназначен для CSS Modules или похожих схем и сопоставляет логические имена классов со значениями из импортированного объекта стилей.
Для старых браузеров, таких как Internet Explorer 8 и более ранних, версия 2.x требует полифилл `Array.isArray`. Проект следует принципам семантического версионирования, включает набор тестов и распространяется под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.