Sorry David, I just posted a new question on the thread regarding this,
so it may be redundant.

I agree that extraneous re-renders should not be a big deal.  In fact I
think if re-renders are causing problems in your app-data or state it's
probably because the over-arching logic needs to be re-worked.

That said, I'm mostly just curious what's going on here...seems strange,
but doesn't seem to be anything Om is doing based on reading that code,
maybe behavior in React.

(2014/05/06 22:49), David Nolen wrote:
> I don't really consider extraneous re-renders a "bug" as I can't think
> of a situation where it would actually present any problems. How
> rendering works will always be a bit of an implementation detail - not
> only because React will likely change this as well sometime in the near
> future.
> 
> David
> 
> 
> On Tue, May 6, 2014 at 9:36 AM, Dave Della Costa <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     I see, sorry I didn't read your previous message more carefully.
> 
>     From a test (using Om 0.6.2) I just tried it seems like calling
>     set-state! will trigger two renders in and of itself; calling transact!
>     multiple times will not do so.  I suspect this is either a bug or
>     something I'm doing incorrectly in my code, but I'll have to ask David
>     what he thinks:
> 
>     https://gist.github.com/ddellacosta/432806ff921377510187
> 
>     However, calling set-state! and transact! together do not provoke extra
>     re-renders; I haven't dug into the code yet but I suspect any updates
>     within the same Om/React cycle shouldn't (other than the weirdness with
>     set-state! I saw) provoke any more than a single re-render.
> 
>     DD
> 
>     (2014/05/06 19:12), Roger Gilliar wrote:
>     > The question is if I can combine e.g. a transact! and
>     update-state! call into an atomic operation.
>     >
>     > Something like:
>     >
>     > (do-transact
>     >  (transact! data #(assoc % :foo "foo" :bar "bar"))
>     >  (update-state! owner #(assoc % :foo "foo" :bar "bar")))
>     >
> 
>     --
>     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]
>     <mailto:clojurescript%[email protected]>.
>     To post to this group, send email to [email protected]
>     <mailto:[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]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[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