自定义组件的props怎么设计才更灵活?
我写了个按钮组件,想通过props控制它的类型和大小,但每次加新样式就得改组件内部逻辑,感觉很僵硬。有没有更好的方式?
比如现在这样写,只能支持预设的几种type,没法传自定义class:
function MyButton({ type = 'primary', size = 'md' }) {
const baseClass = 'btn';
const typeClass = <code>btn--${type}</code>;
const sizeClass = <code>btn--${size}</code>;
return <button className={<code>${baseClass} ${typeClass} ${sizeClass}</code>} />;
}
这样,用户在使用
MyButton组件时,可以通过classNameprop传入额外的类名,从而应用自定义样式,而无需修改组件内部逻辑。这种方式更加灵活且符合React的最佳实践。