typescriptbeginner

Conditional Wrapper Component

Utility component that conditionally wraps children in a parent element or renders them directly.

typescript
import { ReactNode } from 'react';

interface ConditionalWrapperProps {
  condition: boolean;
  wrapper: (children: ReactNode) => ReactNode;
  children: ReactNode;
}

export function ConditionalWrapper({ condition, wrapper, children }: ConditionalWrapperProps) {
  return condition ? wrapper(children) : children;
}

// Usage:
// <ConditionalWrapper
//   condition={isLink}
//   wrapper={children => <a href={url}>{children}</a>}
// >
//   <span>Content</span>
// </ConditionalWrapper>

Use Cases

  • Optional link wrapping
  • Conditional tooltip containers

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.