This is a note to myself. The rule is: given [f a b c], reagent caches the react class instance as a member on the javascript function instance.
Another way to word that is, f must be === for the underlying react class to be stable. Extending f with IEquiv will not work here (IEquiv does work on arguments, but not the component itself). A third way to word this is you can only do the same as what you can do with (def x (reagent/create-class ...)). No partialing or closure gymnastics is possible if you care about stable reactions. https://github.com/reagent-project/reagent/blob/master/src/reagent/impl/component.cljs#L68-L72 where c is the javascript function object https://github.com/reagent-project/reagent/blob/master/src/reagent/interop.clj#L25 -- You received this message because you are subscribed to the Google Groups "Reagent-Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to reagent-project+unsubscr...@googlegroups.com. To post to this group, send email to reagent-project@googlegroups.com. Visit this group at https://groups.google.com/group/reagent-project. For more options, visit https://groups.google.com/d/optout.