          [:li [:code "next-tick"]" is now guaranteed to execute its
          argument before the next render (more on that below.)"]]]
 
+
        [:h2 "track: Use any function as a reactive value"]
 
        [:p [:code "reagent.core/track"] " takes a function, and

        will only result in one call to the " [:code "people"] "
        function (both initially, and when the state atom changes)."]]

       [:p [:b "Note: "] "The first argument to "[:code "track"]"
       should be a named function, i.e not an anonymous one. Also,
       beware of lazy data sequences: don’t use deref (i.e ”@”) with
       the "[:code "for"]" macro, unless wrapped
       in "[:code "doall"]" (just like in Reagent components). "]

       [:h2 "track!"]

       [:p [:code "track!"]" is another new function. It works just

       when " [:code "mouse-pos"] " is no longer tracked anywhere, i.e
       in this case when " [:code "tracked-pos"] "is unmounted."]

       [:p [:code "with-let"]" can also generally be used instead of
       returning functions from components that keep local state, and
       may be a bit easier to read."]


       [:section.demo-text
        [:h2 "Event handling with rswap!"]
