0

在 JavaScript 中,处理动态类的常用方法是使用类名库。

我找不到 ClojureScript 的任何替代解决方案,而且似乎大多数人都可以使用内联 if 语句,(str ...)例如:

(str "location flex-column border-box" (if is-current " current"))

在我看来,这似乎是脆弱而乏味的(参见空间处理)。

我希望这个功能可以像这样工作:

(class-names {
  :location true
  :flex-column true
  :border-box true
  :current is-current
})
; -> "location flex-column border-box"
; or "location flex-column border-box current"

或者喜欢

(class-names "location" "flex-column" "border-box" {
  :current is-current
})

当然,手动编写这样的函数应该不难,但我认为这应该已经以某种方式解决了。

4

1 回答 1

1

底层类名 JavaScript 库及其所有性能优化可通过 cljsjs 获得: https ://github.com/cljsjs/packages/blob/master/classnames/README.md

于 2017-07-02T23:40:11.650 回答