mirror of https://github.com/status-im/reagent.git
Add docs for create-element, and one-argument version
And add a fix for the benefit of Light Table
This commit is contained in:
parent
6e8a5178b3
commit
fc2c59c3e1
|
@ -26,6 +26,7 @@
|
||||||
:dev-base {:dependencies
|
:dev-base {:dependencies
|
||||||
[[figwheel "0.1.5-SNAPSHOT"]]
|
[[figwheel "0.1.5-SNAPSHOT"]]
|
||||||
:plugins [[lein-figwheel "0.1.5-SNAPSHOT"]]
|
:plugins [[lein-figwheel "0.1.5-SNAPSHOT"]]
|
||||||
|
:source-paths ["demo"] ;; for lighttable
|
||||||
:resource-paths ["site" "outsite"]
|
:resource-paths ["site" "outsite"]
|
||||||
:figwheel {:css-dirs ["site/public/css"]}
|
:figwheel {:css-dirs ["site/public/css"]}
|
||||||
:cljsbuild {:builds
|
:cljsbuild {:builds
|
||||||
|
|
|
@ -12,7 +12,21 @@
|
||||||
(def is-client util/is-client)
|
(def is-client util/is-client)
|
||||||
|
|
||||||
(defn create-element
|
(defn create-element
|
||||||
"Create a native React element, by calling React.createElement directly."
|
"Create a native React element, by calling React.createElement directly.
|
||||||
|
|
||||||
|
That means the second argument must be a javascript object (or nil), and
|
||||||
|
that any Reagent hiccup forms must be processed with as-element. For example
|
||||||
|
like this:
|
||||||
|
|
||||||
|
(r/create-element \"div\" #js{:className \"foo\"}
|
||||||
|
\"Hi \" (r/as-element [:strong \"world!\"])
|
||||||
|
|
||||||
|
which is equivalent to
|
||||||
|
|
||||||
|
[:div.foo \"Hi\" [:strong \"world!\"]]
|
||||||
|
"
|
||||||
|
([type]
|
||||||
|
(create-element type nil))
|
||||||
([type props]
|
([type props]
|
||||||
(assert (not (map? props)))
|
(assert (not (map? props)))
|
||||||
(js/React.createElement type props))
|
(js/React.createElement type props))
|
||||||
|
|
|
@ -412,6 +412,8 @@
|
||||||
(deftest test-create-element
|
(deftest test-create-element
|
||||||
(let [ae reagent/as-element
|
(let [ae reagent/as-element
|
||||||
ce reagent/create-element]
|
ce reagent/create-element]
|
||||||
|
(is (= (rstr (ae [:div]))
|
||||||
|
(rstr (ce "div"))))
|
||||||
(is (= (rstr (ae [:div]))
|
(is (= (rstr (ae [:div]))
|
||||||
(rstr (ce "div" nil))))
|
(rstr (ce "div" nil))))
|
||||||
(is (= (rstr (ae [:div "foo"]))
|
(is (= (rstr (ae [:div "foo"]))
|
||||||
|
|
Loading…
Reference in New Issue