我试图同时学习很多东西,所以我的问题可能有点偏离目标。
我用lein创建了一个重新框架模板项目,我有我的默认主要组件:
(defn main-panel []
(let [name (subscribe [:name])]
(fn [] [:div [:h1 @name]])))
我想为keypress添加一个事件监听器,但我无法正确设置:如果我只设置(使用domina)(listen! ...)
中的:component-did-mount
, figwheel重新加载一个新的偶数监听器被添加到旧的一个(s)。如果我在unlisten!
中设置component-will-unmount
,则无法在按键上获得结果。
我注意到,在每次重新加载的情况下,:component-will-unmount
之后立即触发:component-did-mount
!
我做错了什么?
谢谢!
答案 0 :(得分:1)
好的,我发现了自己的错误。
我不得不称之为反应"方法"与with-meta
。
所以,例如:
(with-meta myComponent {:component-did-mount #(ev/listen! ...)
:component-will-unmount #(ev/unlisten! ...)})