--- title: Avoid Boolean Prop Proliferation impact: CRITICAL impactDescription: prevents unmaintainable component variants tags: composition, props, architecture --- ## Avoid Boolean Prop Proliferation Don't add boolean props like `isThread`, `isEditing`, `isDMThread` to customize component behavior. Each boolean doubles possible states and creates unmaintainable conditional logic. Use composition instead. **Incorrect (boolean props create exponential complexity):** ```tsx function Composer({ onSubmit, isThread, channelId, isDMThread, dmId, isEditing, isForwarding, }: Props) { return (
{isDMThread ? ( ) : isThread ? ( ) : null} {isEditing ? ( ) : isForwarding ? ( ) : ( )}