Shouldn't this : (dom/h1 nil (:title data))
be: (apply dom/h1 nil (:title data)) ./Vijay ------ http://vijaykiran.com On Friday, January 17, 2014 11:28:54 PM UTC+1, Sam Aaron wrote: > Hi there, > > > > I was playing about with Om and ran into an issue when attempting to put a > function call inside a prop. Here's a minimal app: > > > > > > (defn subdiv-color [] > > (rand-nth ["black" "green" "blue" "red"])) > > > > (def app-state (atom {:title "Testing Testing" > > :subdivs ["subdiv1" > > "subdiv2"]})) > > > > (defn render-subdiv [content] > > (dom/div #js{:style #js{:color (subdiv-color)}} content)) > > > > (defn main-div [data owner] > > (om/component > > (dom/div nil > > (dom/h1 nil (:title data)) > > (apply dom/p nil > > (map render-subdiv (:subdivs data)))))) > > > > (def r1 (om/root app-state main-div js/document.body)) > > > > (js/setTimeout #(swap! app-state assoc > > :title "1 2 3...") > > 1000) > > > > > > On the first render, everything is hunky-dory. However, when the timeout > function triggers swapping the state, the second render blows up with: > > > > Error while invoking `findComponentRoot` with the following ancestor node: > > <body>…</body> > > react.js:8813 > > > > Uncaught Error: Invariant Violation: findComponentRoot(..., > .r[hn4d].[1].[0]): Unable to find element. This probably means the DOM was > unexpectedly mutated (e.g. by the browser). > > react.js:13161 > > > > Am I doing anything obviously wrong? If I replace the call to subdiv-color to > "black" everything works great. However, I'd really like to be able to modify > the props based on some logic. > > > > Sam > > > > --- > > http://sam.aaron.name -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
