My confusion was that I though the cursor code was failing because of the 
array, but of course the array works fine and it's the NUMBER IN THE ARRAY 
that's causing the unexpected behavior, for understandable reasons- That's why 
it worked fine when looking at similar code in the examples.

On Monday, January 13, 2014 9:58:41 AM UTC-6, Conrad Barski wrote:
> On Monday, January 13, 2014 9:12:58 AM UTC-6, David Nolen wrote:
> 
> > On Sun, Jan 12, 2014 at 11:51 PM, Conrad Barski <[email protected]> wrote:
> 
> > 
> 
> > 
> 
> > 
> 
> > Hi, I'm trying to store an array of data in Om state and instantiate a 
> > child component with it by indexing into the array (by passing the derived 
> > cursor into the child component.)
> 
> > 
> 
> > 
> 
> > 
> 
> > 
> 
> > However, I don't get a cursor when I do this:
> 
> > 
> 
> > 
> 
> > 
> 
> >  (def x (om/to-cursor {:foo [1 2]}))
> 
> > 
> 
> > 
> 
> > 
> 
> >  (om/cursor? (:foo x)) ==> true
> 
> > 
> 
> > 
> 
> > 
> 
> >  (om/cursor? ((:foo x) 0)) ==> false
> 
> > 
> 
> > 
> 
> > 
> 
> > Does anyone know why an array lookup doesn't yield a cursor in this case? 
> > Is there something conceptually I'm missing? If this is how it's supposed 
> > to work, how do I create an array of Om components out of an array of items 
> > in the state?
> 
> > 
> 
> > 
> 
> > 
> 
> > If you look at the Om source you'll see that only Maps and IIndexed have 
> > real cursor conversions by default. Implementers of ICloneable can also be 
> > converted into cursors. So if the following comes first your code will work:
> 
> > 
> 
> > 
> 
> > 
> 
> > (extend-type number
> 
> >   ICloneable
> 
> >   (clone [n] (Number. n))
> 
> > 
> 
> > 
> 
> > However React does not render Number & String Objects properly as children, 
> > so you will need the following:
> 
> > 
> 
> > 
> 
> > 
> 
> > (dom/div nil (om/value n))
> 
> > 
> 
> > 
> 
> > If n is a number cursor.
> 
> > 
> 
> > 
> 
> > David
> 
> 
> 
> Exactly what I needed to know to wrap my head around this- Thanks!

-- 
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.

Reply via email to