Thanks Mike. Yeah, it is that ‘untidiness’ that happens when each subscription 
is per row for example that made me question it…

> On 9 Jun 2015, at 11:52, Mike Thompson <m.l.thompson...@gmail.com> wrote:
> 
> On Tuesday, June 9, 2015 at 8:44:02 PM UTC+10, Colin Yates wrote:
>> I understand that you can provide parameters when subscribing to something, 
>> but I am unsure when it is idiomatic to do so. The example in the 
>> documentation is for a static value (the number of results), but what about 
>> if those parameters change frequently.
>> 
>> For example, let's say I have a subscription which renders a hierarchy. Each 
>> node in that hierarchy may be archived? s/Bool. When I want to render that 
>> hierarchy I need to ensure that I can see all non-archived nodes _and_ the 
>> node that I have currently selected regardless of whether it is archived.
>> 
>> I could achieve this with something like:
>> 
>> (register-sub
>>  :some-reference-data/hierarchy 
>>  (fn [db [_ current-id]]
>>     (let [tree (load-hierarchy-with-node current-id)] (reaction tree))))
>> 
>> This means I will have many invocations of the above (subscribe 
>> [:some-reference-data/hierarchy my-id]) for many different ids.
>> 
>> On the other hand, I could have a single subscription for the whole 
>> hierarchy and prune the tree outside the subscription.
>> 
>> Which is more idiomatic?
> 
> 
> 
> Both ways seem reasonable. Other forces will encourage one over the other. 
> 
> 
>> 
>> On a related note, in a component, is it OK to do [:div (do-something-with 
>> @(subscribe [:some-reference-data/hierarchy (:id node))) or is a memory leak 
>> waiting to happen? 
>> 
> 
> AFAIK, there's no memory leak here.  BUT ... subscriptions should be in the 
> setup part of Form-2 components (outside the renderer). Otherwise you'll be 
> asking for a new subscription each time you render (which seem very untidy).  
> 
> --
> Mike
> 
> 
> 
> 
> -- 
> 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 clojurescript+unsubscr...@googlegroups.com.
> To post to this group, send email to clojurescript@googlegroups.com.
> 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 clojurescript+unsubscr...@googlegroups.com.
To post to this group, send email to clojurescript@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to