我试图了解我们何时必须取消引用游标以获取其值。
在om cursors wiki中,它声明事件处理程序不被视为渲染阶段的一部分,因此应该删除处理程序中的游标。Basic-tutorial中也显示了相同的内容:
(defn contact-view [contact owner]
(reify
om/IRenderState
(render-state [this {:keys [delete]}]
(dom/li nil
(dom/span nil (display-name contact))
(dom/button #js {:onClick (fn [e] (put! delete @contact))} "Delete")))))
但是,在TodoMVC 代码中,处理程序(onclick、onchange...)使用光标而不取消引用它:
(dom/button
#js {:className "destroy"
:onClick (fn [_] (put! comm [:destroy todo]))}))
那么,正确的方法是什么?
谢谢你。