在 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
})
当然,手动编写这样的函数应该不难,但我认为这应该已经以某种方式解决了。