import React from 'react'; interface ButtonProps { callback: () => void; classes?: string; title: string; style?: { [key: string]: string | number }; text: { default: string; dynamic: string; }; } const DynamicButton: React.FC = ({ callback, classes, title, style, text, children, }) => { const [buttonText, setButtonText] = React.useState(text.default); let timeout: number; const clickHandler = () => { callback(); setButtonText(text.dynamic); timeout = window.setTimeout(() => setButtonText(text.default), 3000); }; React.useEffect(() => () => window.clearTimeout(timeout), [callback]); return ( ); }; export default DynamicButton;