~/talk

A philosophy of React software design

Talkat reactjsday 2022 · on Friday, 2022-10-21· [react, frontend-architecture]
slides:none on file

Direct claim: design React code for composition not cleverness. Practical rules: prefer explicit props over avoid optional props, use discriminated union types in TypeScript to prevent invalid states, prefer low‑level hooks/components for combinability. Tools and tradeoffs: react‑select shows discoverability pain, React Query behaves like useEffect on steroids for single requests, useEffect stays for DOM sync and small effects, sagas or orchestration layers handle complex dependent workflows. Example product built in React + canvas is collor.

AI-written summary · about

  1. 0:00Welcome to React design
  2. 1:51Complexity in React design
  3. 4:21Reducing obscurity in code
  4. 8:19Avoiding optional parameters
  5. 11:11Discriminated unions in TypeScript
  6. 15:28Composition in React development
  7. 18:38Composable UI libraries
  8. 24:19Inverse pyramid hierarchy
  9. 25:01Handling effects complexities
  10. 30:24Why useEffect is flawed
  11. 34:17Promises for effect composition
  12. 40:20Designing for composition
  13. 41:45Q&A
~/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.