Tip Güvenli Bileşen ve Varsayılan Props
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
variant?: "primary" | "ghost";
}
export function Button({ variant = "primary", children, ...rest }: ButtonProps) {
return (
<button data-variant={variant} {...rest}>
{children}
</button>
);
}Yerleşik HTML özniteliklerini miras alarak esnek, tekrar kullanılabilir ve otomatik tamamlamalı bileşen tanımlar.
Pratik İpucu & Kullanım Notu
`React.ButtonHTMLAttributes` genişletmesi sayesinde `onClick`, `disabled`, `type` ve `aria-*` gibi tüm standart özellikleri tek tek yazmanız gerekmez.