On Wed, Apr 2, 2014 at 3:42 AM, rlewczuk <rafal.lewc...@gmail.com> wrote:

>
> First one is about object created by (om/build ...) - in all tutorials
> these objects are always created on the fly in (render ...) functions. So
> if some component disappears from view for some time, it loses its state.
> This might be the case in tab panels for example: views representing
> individual tabs disappear when user switches onto another tab. Is it safe
> to retain reference to such view created by om/build or should it be build
> from scratch every time ?
>

In the case of tabs I would generally not destroy the view but simply hide
it with styling. Views should always be built from scratch every time - it
is not expensive :) Virtual DOM FTW.


> Second thing is inter-component communication. I assume that meddling with
> state of one component from another component (eg. reading data from edited
> row by data grid) is considered harmful and core.async channel should be
> used in such cases which implies actor model for UI app. Is it safe to
> assume that om is opinionated in this regard (using actor model for
> communication) ? If so, are there materials regarding proper design and
> structuring of actors and their communication (think: GoF-like 'design
> patterns' for actor model) ? I've read some parts of a few  Erlang books
> regarding some of it but it seems to cover only basics and simple cases.
>

Yes for coordination between components I would use either callbacks in the
simple case and channels in the complex one.

David

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to