I love React as long as it has a thin skim of clojurescript over top. Rum is the underdog compared to reagent but is still my weapon of choice - https://github.com/tonsky/rum
Was disillusioned when I had to dive into a pure js project using React.
The real benefit, I think, is that you get the well established Clojure idioms around isolating and managing mutable state.
State is stored in a Atom, which is atomically mutated, and reactive components essentially 'subscribe' to updates upon that atom to re render.
The mutations can be handled centrally by a message queue, but really, event sourcing like that is not always needed.
Depends on the perspective. I know a bit of Clojure, but for me those idioms are hardly "well established". For me, the patterns of React, Typescript and Redux are well established...
I believe these functional React and Redux patterns got largely inspired by the Clojure ecosystem. It took a while for the adoption of functional patterns in the JS world.
But I believe what OP meant is really more about how these idioms are holistically implemented throughout Clojure. Whereas in JS we have to fight the language quite often.
Was disillusioned when I had to dive into a pure js project using React.
The real benefit, I think, is that you get the well established Clojure idioms around isolating and managing mutable state.
State is stored in a Atom, which is atomically mutated, and reactive components essentially 'subscribe' to updates upon that atom to re render.
The mutations can be handled centrally by a message queue, but really, event sourcing like that is not always needed.