~/talk

Goodbye, useState

Talkat React Miami 2025 Β· 2025-04-17..04-18Β· [react, frontend-architecture]
slides:none on file

Argues that apps outgrow plain useState and shows concrete replacements: keep non-rendering counters in refs, put UI state into the URL via query params or a useQueryState-style swap, fetch with React 19 features or useTransition instead of manual isLoading flags, or use TanStack Query for client caching. Recommends FormData + server actions for forms, discriminated unions for status/type safety, useReducer/event dispatch for complex logic, and useSyncExternalStore plus useSyncExternalStore or XState-like stores and local‑first sync engines for shared/global state.

AI-written summary Β· about

  1. 0:00Intro
  2. 3:28UseRefs
  3. 4:43URL State
  4. 7:12fetching data
  5. 9:24forms
  6. 11:37overusing state
  7. 13:11discriminated unions
  8. 14:22derived states
  9. 15:15reducing logic
  10. 17:21syncing external stores
  11. 19:44thirdparty libraries
  12. 22:39sync engines
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark β€” the status bar button does the same
?
this help
esc
close this, then clear every filter β€” or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.