Its because Om isn't built to work on sequences directly (I guess because React doesn't? I remember seeing somewhere that dom/* is a very thin wrapper over react functions). You may be interested in om-tools, which DOES allow you to pass sequences to the dom functions: https://github.com/Prismatic/om-tools/#dom-tools
On 17 August 2014 23:55, Ryan Waters <[email protected]> wrote: > Yeah : / > > Why require the use of 'apply' over simply wrapping a sequence of Om > components with e.g. (dom/div ...)? One of those things in Om that doesn't > make sense to me. > > Thank you for the help. > > > On Sun, Aug 17, 2014 at 5:05 PM, jack james <[email protected]> > wrote: > >> On Sunday, August 17, 2014 3:22:53 PM UTC-5, Ryan Waters wrote: >> > The following does not render a vector of numbers like I would expect - >> what (assuredly) simple thing am I missing? >> > >> > Thank you. >> > >> > >> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >> > >> > >> > >> > >> > (def app-state >> > (atom >> > {:items (vec (range 10))})) >> > >> > >> > (defn subcomponent [item owner] >> > (reify >> > om/IRender >> > (render [_] >> > (dom/div nil item)))) >> > >> > >> > (defn component [app owner] >> > >> > >> > (reify >> > om/IRender >> > (render [_] >> > (dom/div nil >> > (om/build-all subcomponent (:items app)))))) >> > >> > >> > (om/root component app-state >> > {:target (. js/document (getElementById "app"))}) >> >> looks like you missed an "apply": >> >> ... >> (apply dom/div nil >> (om/build-all ... >> >> -- >> 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. >> > > -- > 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. > -- 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.
