造型 Om 组件

Styling Om components

样式和 Om 组件的方式基于 React 处理样式的方式。 在整个应用程序中复制通用 CSS 规则将是一团糟,那么有没有办法在函数或类似函数中定义样式?

(defn my-css [] {:border "1px solid #000"})

(defn my-component [state]
  (dom/div #js {:className "the-class-name"
                :style #js (my-css)}))

我试过使用 defndef 但我找不到避免的方法

Caused by: clojure.lang.ExceptionInfo: JavaScript literal must use map or vector notation

我使用:

(defn create-style [row]
  {:background-color (utils/get-background-color (:task_status row)) :color (utils/get-color (:task_status row))})

但我在 "om-bootstrap" 中使用它。

我有时在 :style 地图之前有 #js,有时在之后。我认为这取决于他们图书馆的期望。