Sam and Ryan talk about React 19's useActionState hook. They discuss how adding async functions to a plain React app introduces lots of in-between states that developers must grapple with, and how useActionState allows React to collapse and eliminate these states, bringing the simplicity of React's sync mental model to our async code.
Timestamps:
- 0:00 - Intro
- 1:51 - How React normally eliminates state in synchronous apps
- 8:20 - How useActionState lets React eliminate state in asynchronous apps
- 18:17 - Why you shouldn't just pass server actions into useActionState
- 23:00 - TCP/IP and UDP analogy
- 26:39 - Thinking of useActionState like enqueue
- 34:55 - Why the term "reducer" is too loaded for best understanding useActionState
- 51:07 - How useActionState helps you build a Todo app that stays responsive during pending actions
Sam and Ryan talk about React 19's useActionState hook. They discuss how adding async functions to a plain React app introduces lots of in-between states that developers must grapple with, and how useActionState allows React to collapse and eliminate these states, bringing the simplicity of React's sync mental model to our async code.
Sam and Ryan talk about React 19's useActionState hook. They discuss how adding async functions to a plain React app introduces lots of in-between states that developers must grapple with, and how useActionState allows React to collapse and eliminate these states, bringing the simplicity of React's sync mental model to our async code.
Timestamps:
- 0:00 - Intro
- 1:51 - How React normally eliminates state in synchronous apps
- 8:20 - How useActionState lets React eliminate state in asynchronous apps
- 18:17 - Why you shouldn't just pass server actions into useActionState
- 23:00 - TCP/IP and UDP analogy
- 26:39 - Thinking of useActionState like enqueue
- 34:55 - Why the term "reducer" is too loaded for best understanding useActionState
- 51:07 - How useActionState helps you build a Todo app that stays responsive during pending actions