私はClojure/ClojurescriptとOmが初めてで、少し苦労した後、2次元ベクトルからテーブルをレンダリングするこの方法を思いつきました:
(def app-state (atom {:world [[1 2 1] [2 1 1] [1 2 1]]}))
(defn cell
[text]
(om/component
(dom/td nil text)))
(defn row
[data]
(om/component
(apply dom/tr nil
(om/build-all cell data))))
(defn world-view
[data owner]
(om/component
(apply dom/table nil
(om/build-all row (:world data)))))
(om/root
world-view
app-state
{:target (. js/document (getElementById "app"))})
これをより簡潔にする方法、または 1 つのコンポーネント関数からテーブル全体を作成する方法についての指針を探しています。