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








