setTimeout в React, не удается очистить

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я пытаюсь запустить свой код через 3 секунды после нажатия кнопки. Однако мне не удается это сделать. Либо он запускается немедленно, либо запускается и не останавливается.

 <Button onClick={setTimeout(() => window.location.reload(false), 4000), clearTimeout()}>Spin</Button>
  

Прошло много времени с тех пор, как я использовал setTimeout каким-либо образом, так что это, вероятно, очень простое исправление.

Извиняюсь, если есть подобный вопрос, я не смог найти ничего, что было бы связано с этим достаточно, чтобы помочь мне.

Ответ №1:

Вы должны добавить обработчик событий (метод), подобный функции со стрелкой :

 onClick={()=>{setTimeout(() => window.location.reload(false), 4000); clearTimeout()}}
  

или onClick={someFunction}

 function someFunction(){
  setTimeout(() => window.location.reload(false), 4000); clearTimeout()
}