/hyper

Like hyperscript, but for ClojureScript (and only react)

Primary LanguageClojure

Hyper

Like react-hyperscript but for Clojure. Uses macros to convert your props into blazing fast compile-time maps, no dynamism allowed.

Usage

(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))