Design decisions in React-based ClojureScript applications
summary
Team builds about five React ClojureScript SPAs and reports practical tradeoffs: prefer one big app-state atom, keep components dumb and send events into a channel-based dispatcher (the big loop), or use Om Next style co-located queries when data needs are highly dynamic. For expensive recomputations pick dataflow/derived atoms (Re-frame/Reagent); for syncing send backend responses back through the event loop and bundle updates with a follow-up query. Resolve conflicts with optimistic versioning or full locks depending on conflict likelihood.
AI-written summary · about
chapters (15)
- 0:00Start
- 1:16Recap on the Programming Model of React
- 2:55Organizational State
- 4:18Structural Mismatches
- 4:50Unpredictable Data Needs
- 5:30Updating Your State
- 6:59Guiding Rules
- 9:08The Big Loop
- 10:37Co-Located Queries
- 13:35Dataflow Programming
- 17:30State Synchronization of the Remote Back-End
- 21:33Pessimistic and Optimistic Concurrency Control
- 22:29Pessimistic Concurrency Control
- 24:34Advices
- 25:03Do You Need Expensive Data Transformations
related talks
38mThe challenges and benefits of a functional reactive frontend
32mRefracting React
41mThe ReactJS Landscape
27mThe Functional Final Frontier
41mModern Web App Development using ClojureScript & React js
46mNative and browser SPA versions using re-frame, ClojureScript and ReactNative
41mModern Web App Development using ClojureScript & React js
38m"Growing Data Center networking mgmt UI using ClojureScript, Reagent and re-frame"
