NativeStore can be passed as a value in a cursor, but since it always is = to 
itself, it would have no effect on Om's shouldComponentUpdate calculation.  
Instead, I just pass it as shared state.  

NativeStore is intended as an alternative method for managing state in Om via 
the Derive library (http://github.com/vitalreactor/derive).  In my system, 
cursor state only passes dynamic UI state and key parameters, such as a todo-id 
and an edit flag.  The bulk of the TODO element data is read from NativeStore.  
I will stress that for relatively simple systems like the TODO app, NativeStore 
is serious overkill.  It makes sense when your data model is large and/or 
complicated such as having a graph-like structure or many cross-dependencies.  
I have all of the above in my app which is about to cross 10k lines of CLJS.

The way this integration works is described at the bottom of the NativeStore 
README.md.  In short, you need to wrap any calls to derive functions or cursors 
with the derive/on-changes macro which registers a callback with the store so 
that the component's om/refresh! method is called when a NativeStore transact! 
updates any of the data that the component accessed which in turn causes the 
component to be added to the Om render queue.

The interactions here are a little subtle, and not quite as easy to reason 
about as the cursor model, so I'll work up a simple example/tutorial of usage 
in the NativeStore repository tonight to illustrate Om integration.  This will 
work equally well for other Clojurescript React wrappers I believe.

Ian

-- 
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