我不理解以下代码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"]]])有人能在这方面帮我吗?
发布于 2020-10-03 16:58:49
这就是创建一个React片段:
发布于 2020-10-05 03:44:23
在前面的回答中添加了更多细节,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]https://stackoverflow.com/questions/64181996
复制相似问题