Есть фича для сайта при нажатие на кнопку она должна отключиться на 60 секунд а по окончание времени снова работать. Не сильно разбираюсь в компонентах сама фича изначально была написано на функциональном компоненте а мне нужно переписать её на классовый компонент .
Вот мой классовый компонент:
import React, {useState , Component} from "react";
class Example extends React.Component {
constructor() {
super();
this.state = {
isTimerActive : false,
setIsTimerActive : false,
my: "Смс отпрвлено"
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setIsTimerActive = true;
setTimeout(()=> {
this.setIsTimerActive = false;
} , 60000);
}
render() {
return(
<button disabled={this.isTimerActive} onClick={this.handleClick}>
{this.isTimerActive ? {my} : 'Повторно отправить смс'}
</button>
);
}
}
export default Example;
Вот код который работает , но он написан на функциональном компоненте:
import React , {useState} from "react";
const App = () => {
const [isTimerActive, setIsTimerActive] = useState(false);
const my = ''
const handleClick = () => {
// активируем счетчик
setIsTimerActive(true);
setTimeout(() => {
// сбрасываем
setIsTimerActive(false);
}, 10000);
};
return (
<button disabled={isTimerActive} onClick={handleClick}>
{isTimerActive ? my : 'Повторно отправить смс'}
</button>
);
};
export default App;