--- 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 (
) } ``` **Correct (composition eliminates conditionals):** ```tsx // Channel composer function ChannelComposer() { return (