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.
