Reusable component design tip: Make impossible states impossible
Reusable component design tip:
Make impossible states impossible.
4 ways to make the impossible, impossible:
1. Use TypeScript.
2. Declare union types for finite options.
3. Require necessary props.
4. Combine related settings to eliminate potential illogical combinations
