- オム「0.8.0」
私は最近、om リポジトリのサンプルコードを使用してomの学習を開始しました。現在、マルチサンプルをチェックしており、このプログラムの動作を理解できています。
「+」ボタンをクリックした後、
- まず、「Even(or Odd) widget unmounting」が出力されます。
- 続いて「奇数(or偶数)ウィジェット実装」が出力されます。
しかし、次のコードを追加すると
(偶奇ウィジェットdefmulti
コードをdefn
コードに変更するだけです)
(defn test-widget
[props owner]
(reify
om/IWillMount
(will-mount [_]
(println "Test widget mounting"))
om/IWillUnmount
(will-unmount [_]
(println "Test widget unmounting"))
om/IRender
(render [_]
(dom/div nil
(dom/h2 nil (str "Test Widget: " (:my-number props)))
(dom/p nil (:text props))
(dom/button
#js {:onClick #(om/transact! props :my-number inc)}
"+")))))
の代わりにこの関数を使用しようとしましtest-widget
たが、その結果、印刷メッセージはありませんでした...
では、この場合の defmulti と defn の違いは何でしょう? これはバグですか、それとも正しい動作ですか?
前もって感謝します。