试剂打嗝中的 :<> 是什么?
What is :<> in reagent hiccup?
我不明白下面代码中的标签“:<>”
clojure re-frame todomvc
(defn todo-app
[]
[:<>
[:section#todoapp
[task-entry]
(when (seq @(subscribe [:todos]))
[task-list])
[footer-controls]]
[:footer#info
[:p "Double-click to edit a todo"]]])
谁能帮我解决这个问题?
即创建 React 片段:
为之前的答案添加更多细节,fragment
拼接到周围列表而不是创建子元素。这样,它类似于Clojure中的unquoted-splicing
运算符~@
与常规unquote
运算符~
相比。一个例子:
(defn middle-seq [] [ :d :e :f])
(defn middle-seq-frag [] [:<> :d :e :f])
当用于创建 Reagent 组件时,我们看到了不同之处:
[:a :b :c (middle-seq) :g :h :i] ;=> [:a :b :c [:d :e :f] :g :h :i]
[:a :b :c (middle-seq-frag) :g :h :i] ;=> [:a :b :c :d :e :f :g :h :i]
否则,您将不得不重组输入并使用 concat
:
(vec
(concat
[:a :b :c]
(middle-seq)
[:g :h :i] )) ;=> [:a :b :c :d :e :f :g :h :i]
我不明白下面代码中的标签“:<>” clojure re-frame todomvc
(defn todo-app
[]
[:<>
[:section#todoapp
[task-entry]
(when (seq @(subscribe [:todos]))
[task-list])
[footer-controls]]
[:footer#info
[:p "Double-click to edit a todo"]]])
谁能帮我解决这个问题?
即创建 React 片段:
为之前的答案添加更多细节,fragment
拼接到周围列表而不是创建子元素。这样,它类似于Clojure中的unquoted-splicing
运算符~@
与常规unquote
运算符~
相比。一个例子:
(defn middle-seq [] [ :d :e :f])
(defn middle-seq-frag [] [:<> :d :e :f])
当用于创建 Reagent 组件时,我们看到了不同之处:
[:a :b :c (middle-seq) :g :h :i] ;=> [:a :b :c [:d :e :f] :g :h :i]
[:a :b :c (middle-seq-frag) :g :h :i] ;=> [:a :b :c :d :e :f :g :h :i]
否则,您将不得不重组输入并使用 concat
:
(vec
(concat
[:a :b :c]
(middle-seq)
[:g :h :i] )) ;=> [:a :b :c :d :e :f :g :h :i]