It should re-render the portion of your DOM that was in an rx that got invalidated. What does the implementation of sess/get look like?
On Thu, Nov 20, 2014 at 5:21 PM, Sven Richter <[email protected]> wrote: > Hi, > > I have been playing around and like it so far. > > I experience some behavior here where I wonder if it is intended or if I > am doing something wrong. > > I have a main-page which I mount like this: > (dom/mount! root (main-page)) > > and which looks like this: > (defn main-page [] > [... > [:div#content > [(rx ((sess/get :current-page)))]]... > it loads the current page into the content div, this works. > > Now I have one page which looks like this: > (defn sub-page [] > [:div > ; ... some forms > [(rx (di-table))]]) > > (defn di-table [] > [:table > [:tbody > (for [di (sess/get :dis)] > [:tr [:td (:name di)] > [:td (:host di)] > [:td (str (:port di))] > [:td [:button {:id (:id di) :on-click #(delete-docker-instance (:id > di))} "Delete"]]])]]) > > It works as it rerenders when I change the state, however, it rerenders > the whole page and not only the table, which I wouldn't expect. Is it > possible to only rerender the table? I am using 0.1.0 > > Best Regards, > Sven > > Am Montag, 17. November 2014 03:20:40 UTC+1 schrieb Aaron: > >> freactive (pronounced "f reactive" for functional reactive) is a new high >> performance, pure Clojurescript, declarative DOM library: >> https://github.com/aaronc/freactive >> >> It has a syntax very similar to that of Reagent and was in fact inspired >> by Reagent, Om, and others. >> >> I came up with it when I was doing some DOM programming after having >> spending a fair amount of time working with JavaFX (see my soon to be >> announced library fx-clj: https://github.com/aaronc/fx-clj). I thought >> Om and Reagent were very nice to work with (and actually inspired some what >> I did with fx-clj), but I felt from my desktop GUI experience, that I could >> take things a few steps further. >> >> freactive's main advantages over existing solutions are probably built-in >> animations support and slightly higher performance. >> >> Here are it's goals from the README: >> >> - Provide a *simple, intuitive API >> <https://github.com/aaronc/freactive/#hello-world>* that should be >> almost obvious to those familiar with Clojure (inspiration from >> reagent <https://github.com/reagent-project/reagent>) >> - Allow for *high-performance >> <https://github.com/aaronc/freactive/#performance>* rendering *good >> enough for animated graphics <http://aaronc.github.io/freactive/dom-perf>* >> based on a purely declarative syntax >> - Allow for *reactive binding of any attribute, style property or >> child node* >> - Allow for *coordinated management of state via cursors >> <https://github.com/aaronc/freactive/#cursors>* (inspiration from om >> <https://github.com/swannodette/om>) >> - Provide *deeply-integrated animation >> <https://github.com/aaronc/freactive/#animations>* support >> - Allow for cursors based on paths as well as *lenses* >> - Provide a generic items view component >> <https://github.com/aaronc/freactive/#items-view> for *efficient >> viewing of large data sets* >> - *Minimize unnecessary triggering of update events* >> - Coordinate all updates via *requestAnimationFrame* wherever possible >> - Be easy to debug >> <https://github.com/aaronc/freactive/#debugging-reactive-expressions> >> - Be written in *pure Clojurescript* >> - Provide support for older browsers via polyfills (not yet >> implemented) >> >> Any feedback is welcome!! >> >> I'm not sure I like the name "freactive" - but it was the best I could >> think of at the time. Suggestions for alternative names are welcome. >> > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to a topic in the > Google Groups "ClojureScript" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/clojurescript/99myJ9vLeKQ/unsubscribe. > To unsubscribe from this group and all its topics, 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. > -- 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.
