Putting cursors into state is not a good idea.

On Wednesday, September 3, 2014, Daniel Kersten <[email protected]> wrote:

>
> On 3 Sep 2014 06:51, "Alan Shaw" <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
> >
> > PS My confusion is increased by the fact that if I print out next-props
> from within will-receive-props, it appears on the console to be a plain
> vector, but in the next line of code, where I use it in om/set-state!, it
> is in fact a cursor.
>
> Is this a problem? I often do (om/set-state! owner :foo some-cursor)
>
> Can you explain some more what problem you are encountering?
>
> >
> >
> > On Tue, Sep 2, 2014 at 10:45 PM, Alan Shaw <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
> >>
> >> My main app cursor has a field :circles which is a vector. My animator
> component's render-state method needs these circles transformed into
> animations. This is done by a function make-animations. The parent
> component invokes om/build on the animator, passing (:circles cursor) as
> the animator's cursor.
> >>
> >> I find that whenever I try to invoke the function on :circles, it is a
> cursor
> >> and may not be dereferenced. This is true at all the places I have
> tried it:
> >> 1. in a :fn passed by the parent component as a member of the map in
> om/build,
> >> along with (:circles cursor).
> >> 2. within the animator's render-state itself,
> >> and
> >> 3. in the animator's will-receive-props method. It is here that the
> docs claim "This is a good place to detect app state changes and make
> updates to local component state using om/set-state! or om/update-state!."
> >>
> >> My question is: how?
> >>
> >> Shanti,
> >>
> >> Alan
> >
> >
> > --
> > 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]
> <javascript:_e(%7B%7D,'cvml','clojurescript%[email protected]');>
> .
> > To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[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]
> <javascript:_e(%7B%7D,'cvml','clojurescript%[email protected]');>
> .
> To post to this group, send email to [email protected]
> <javascript:_e(%7B%7D,'cvml','[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.

Reply via email to