Ich habe versucht, diese example in Google Diagramm anzupassen. Um re-frame
Rahmen, reagent
. Ich möchte basierend auf Abonnements ein Echtzeitdiagramm erstellen. Ich habe mit einem einfachen Zähler = + - 1 getestet.Google Diagramm CLJS Clojure
Ich habe Fehler: Assert failed: Render must be a function, not nil (ifn? render-fun)
.
(defn draw-demo-chart
[d]
(let [[columns vectors options chart] (r/children d)
data (new js/google.visualization.DataTable)]
(doall ;gotta keep the doall on maps. lazy sequence...
(map (fn [[type name]]
(.addColumn data type name)) columns))
(.addRows data vectors)
(.draw chart data options)
(.load js/google "visualization" "1" (clj->js {:packages ["corechart" "orgchart" "calendar" "map" "geochart"]}))
(.setOnLoadCallback js/google draw-demo-chart)
))
(defn draw-demo-chart-container
[]
(let [count (re-frame/subscribe [:count])
columns (reaction [["date" "X"] ["number" "Y"]])
vectors (reaction (clj->js [[(new js/Date "07/11/14") 145] [(new js/Date "07/12/14") 15]
[(new js/Date "07/13/14") 23] [(new js/Date "07/14/14") 234]]))
options (reaction (clj->js {:title (str @count)}))
chart (reaction (new js/google.visualization.LineChart (.getElementById js/document "linechart"))) ]
(fn []
[draw-demo-graph @columns @vectors @options @chart])))
(def draw-demo-graph
(r/create-class {:reagent-render draw-demo-chart
:component-did-mount draw-demo-chart
:component-did-update draw-demo-chart}))
Es ist nicht so aussieht, wenn man ganz den richtigen Ansatz. Dieses Tutorial sollte Sie zu den notwendigen Verbesserungen führen: https://github.com/Day8/re-frame/blob/master/docs/Using-Stateful-JS-Components.md –
Wie ich gepostet habe .. das funktioniert mit d3. js, Ich möchte nur die Google Chart Version erstellen. Ich weiß nicht, was das Problem ist, denn bei d3.js Version habe ich die Daten zurück. Problemlos. Bei Google Chart Fall .. nicht. Ich bin aus vielen Foren zurück, die verlinken .. nur verstehe ich nicht, warum funktioniert nicht mit Google Chart diese Methode ... wo ist der Fehler von meiner Seite: s – RRR