Building Better Components - A Journey to a More Resilient Frontend
summary
Shows concrete fixes: replace many booleans with group similar props into unions (string literal types) to avoid defensive checks; extend platform HTML types in TypeScript so components extend native HTML attributes instead of reimplementing name/placeholder/type; expose full event objects not just value to avoid breaking changes; build a shared hook/store (example: usePopoverMenu, inspired by aria-kit) to keep triggers and popovers synced and handle aria IDs and focus, enabling predictable defaults like size=medium, variant=filled.
AI-written summary · about
chapters (6)
- 0:00Introduction and goals
- 5:19Grouping similar props
- 14:00Consistency in design systems
- 22:15Leveraging HTML standards
- 37:33Managing state with stores
- 46:04Recap and building trust
related talks
51mBuilding Better Components — A Journey to a More Resilient Frontend
34mSecrets of building robust UI components
24mDesigning Components for Fun, Profit and Sanity
44mWriting good components
56mThe Web, Its Frameworks and Its Standards: Deconstruct to (Re?)Construct
36mBuilding framework agnostic UI with Web Components
44mA Practical Guide for Crafting Resilient UI Components
23mBuilding Accessible Components: Best Practices and Business Buy-In
