<Button color={"inherit"}/>
<div onClick={() => {
toggleAdd(!open)
setUser("")
setPhone("")
}}>
<Button color={"inherit"}/>
</div>
export const Button = ({phone, text, color, textColor, border}) => {
return (
<>
{phone ? (
<a className="phone" href={`tel:${phone}`} ><img src="./Assets/Phone.svg" alt="" /></a>
):(
<button
className="submit"
style={{
background: color,
color: textColor,
border: border,
}}
>
{text}
</button>
)}
</>
)
}
Как создать универсальный компонент кнопку, если визуально она более менее похожа на остальные кнопки, но при клике делает разный функционал?
Как это сделать если нельзя ставить обработчик событий на компонент?
clsx
и передавайте стили через className внутри компонента через пропс<Button className="button-any">Какой-то текст</Button>
Как это сделать если нельзя ставить обработчик событий на компонент?
//css
.submit.myStyles1 {
}
.submit.myStyles2 {
}
.submit.myStyles3 {
}
const myfunction1 = () => {}
const myfunction2 = () => {}
const PhoneBTN = ({phone}) => (
<a className="phone" href={`tel:${phone}`}>
<img src="./Assets/Phone.svg" alt="" />
</a>
)
const Button = ({type,text}) => {
return (
type === "phone" ?
<PhoneBTN {...{phone:text}} onClick={myfunction1}/>:
<button className="submit myStyles" onClick={myfunction2}>{text}</button>
)
}
const render = () => (
<Button {...{type:"phone",text:""}}/>
)