0

次の架空の単純化された clojurescript スニペットを検討してください。

(def cat (r/atom [{:id 0 :data {:text "ROOT" :test 17} :prev nil :par nil}
                 {:id 1 :data {:text "Objects" :test 27} :prev nil :par 0}
                 {:id 2 :data {:text "Version" :test 37} :prev nil :par 1}]))

(defn categorymanager [s]
  [:div
   [:> Reactable.Table
    {:data (clj->js
             s
             )}
    ]
   ]
  )

(defn content []
   (fn []
     [:div
     [:h1 "Test"]
     (categorymanager (select [ALL :data] (t/tree-visitor @cat)))
     [re-com/button :label "Do not click!"]
     ]
))

content 関数は Reagent コンポーネントを準備します。コード スニペットは期待どおりに機能します。( 'select' 関数は Spectre ライブラリの一部です。)

たとえば REPL 内の関数で cat アトムが変更されたときに、ブラウザーの React.js コンポーネントが変更されるように、最小限のリフレーム コードを追加したいと思います。サブスクリプションとハンドラーの再フレーム化に関する理論は知っていますが、このような最小限の例で機能させることができなかったため、理論的にのみです。それはどのように行われますか?Re-frame サブスクリプションとハンドラーを使用して Reagent コンポーネントに変更をプッシュする方法は?

4

1 に答える 1