Taking purity to the limit in GUI programming w/ React and Reacl
summary
Reacl is a ClojureScript GUI framework built on React that replaces imperative setState and Om cursors with pure message handlers that map an old app state to a new one, borrows Racket’s world/universe idea of worlds-as-data, and gives lexical DOM refs via a let-dom form. It separates transient UI state from persistent app state, forces all state changes through messages, and reports successful use in several commercial products. no imperative setState, messages instead of transact
AI-written summary · about
chapters (22)
- 0:00Start
- 5:37Handling Keyboard Events
- 7:02What Can Render HTML5?
- 8:21React in ClojureScript
- 12:03Component Classes
- 12:41Interactive Components
- 15:44Event Handlers & Component State
- 16:30React Component Tree
- 17:03Rerendering
- 18:28React Gripes
- 19:29React +ClojureScript = Profit
- 24:31Components vs. Om App State
- 25:12Om Gripes
- 26:09App State vs. Reusable Components
- 28:03Simple Todo App
- 29:01Individual Items
- 30:32Message Handling
- 31:46Propagating Messages Upwards
- 33:48Event Handling
- 35:03Submitting a Todo Item
- 35:48Deleting an Item
- 36:15Changing a Todo Item
related talks
41mThe ReactJS Landscape
32mRefracting React
54mClojurescript and Om - Pragmatic functional programming in the Javascript Land
29mEvolving the Visual Programming Environment with React
27mThe Functional Final Frontier
29mDesign decisions in React-based ClojureScript applications
34mFunctional UIs and Unidirectional Dataflow
31m"Modern Frontend on ClojureScript and React in 2023"
