1

私は同時に多くのことを学ぼうとしているので、私の質問は少し的外れかもしれません.

lein を使用して re-frame-template プロジェクトを作成し、デフォルトのメイン コンポーネントを作成しました。

(defn main-panel []
  (let [name (subscribe [:name])]
    (fn [] [:div [:h1 @name]])))

キープレスのイベントリスナーを追加したかったのですが、正しく行うことができませんでした: で (ドミナを使用して) のみを設定する(listen! ...):component-did-mount、figwheel のリロードごとに新しい偶数リスナーが古いものに追加されます。 . を設定するunlisten!component-will-unmount、キーを押しても結果が得られません。

私が気付いたのは、フィグホイールのリロードごとに、 !:component-will-unmountの直後に がトリガーされることです。:component-did-mount

私は何を間違っていますか?

ありがとう!

4

1 に答える 1

1

わかりました、私は間違いを見つけました。で反応「メソッド」を呼び出さなければなりませんでしたwith-meta

たとえば、次のようになります。

(with-meta myComponent {:component-did-mount #(ev/listen! ...)
                        :component-will-unmount #(ev/unlisten! ...)})
于 2015-10-28T00:12:21.733 に答える