Like react-hyperscript but for Clojure. Uses macros to convert your props into blazing fast compile-time maps, no dynamism allowed.
(ns my.app
(:require
[react-dom :as react-dom]
[io.dominic.hyper.script :refer [h]]))
(defn mount [el]
(react-dom/render
(h "div"
{:onClick (fn [e] (js/alert "Hi from h"))}
"Hello, " "world"
(for [i (range 10)]
(h "p" {:key i} (str "Line: " i))))
el))
Or use the axe:
(ns my.app
(:require
[react-dom :as react-dom]
[io.dominic.hyper.axe :as 🪓️]))
(defn mount [el]
(react-dom/render
(🪓️/div
{:onClick (fn [e] (js/alert "Hi from h"))}
"Hello, " "world"
(for [i (range 10)]
(🪓️/p {:key i} (str "Line: " i))))
el))