나는 반응이 새로운 오전, 그리고 간단한 카운트 다운 애플 리케이션을 만들려고합니다. 그러나 반응에서, 나는 모든 기능에 대한 전역 변수를 부여하는 방법을 알지 못한다. 제 코드를 살펴 보시고 어쨌든 일시 중지를하고 계속 버튼을 사용할 수 있습니까? 일반 자바 스크립트에서 전역 변수로 타이머를 설정하고 다른 함수에서 해당 함수에 대한 액세스를 얻을 수 있습니다. 원하는 경우 타이머에서 clearInterval을 호출 할 수 있지만 반응에서 타이머를 일시 중지하기 위해 clearInterval을 호출하는 방법을 알지 못합니다. 기능은 시작 기능 블록에서 제한되어 있기 때.입니다.거기에 방법을 외부에있는 함수의 내부 변수를 전달하는 것입니다
import React from 'react';
import ReactDOM from 'react-dom';
class Countdown extends React.Component{
render(){
return(
<div>
<button onClick={()=>begin()}>start</button>
<button>pause</button>
<button>continue</button>
</div>
);
}
};
const begin=(props)=>{
let count = 10;
const timer = setInterval(countdown,1000);
function countdown(){
count=count-1
if (count<0){
clearInterval(timer);
return;
}
console.log(count)
}
}
ReactDOM.render(<Countdown/>, document.getElementById('app'));
는 당신과 같은 경우를 데으로이 확실히 도움이 될 것이다, https://reactjs.org/docs/state-and -lifecycle.html –
감사합니다. 기능을 시작하기 전에 타이머에 액세스 할 수 없어서 clearInterval에 문제가 발생했습니다. Javascript vanilla에서 전역 변수로 타이머를 선언 한 다음 사방에 액세스 할 수 있지만 반응을 할 수는 없습니다. – Nhat