안녕하세요 상훈입니다.
React로 체크박스를 체크하면 타이머가 돌아가고, 체크박스를 해제하면 타이머가 멈추는
체크박스를 이용한 스톱워치를 구현하려고합니다.
<div id="root"></div>
<script type="text/babel">
class App extends React.Component {
constructor(props){
super(props)
this.state = {
seconds : 0
}
this.handleChange = this.handleChange.bind(this)
}
handleChange (event) {
if(event.target.checked){
this.timerId = setInterval( () => {
this.setState({
seconds: this.state.seconds+1
})
}, 1000)
}else{
clearInterval(this.timerId)
}
}
render () {
return (
<div>
<input type="checkbox" onChange={this.handleChange}/>
<span>타이머활성화</span>
<h1>Timer : {this.state.seconds}</h1>
</div>
)
}
}
const container = document.querySelector("#root")
ReactDOM.render(<App />, container)
</script>
이전까지는 1가지의 기능만 구현을 했었는데,
이번건 2가지의 기능(체크박스 -> 이벤트 -> setInterval())를 사용하였기 때문에 헷갈릴 수 있다.
[ React.js ] 리액트 훅(React-Hooks) 시작하기 - 01. 프로젝트 구동 (0) | 2021.09.03 |
---|---|
[ React.js ] Uncaught SyntaxError: Cannot use import statement outside a module 에러 해결 (0) | 2021.09.03 |
[ React.js ] Checkbox event, 체크박스 체크 이벤트, 예제 (0) | 2021.09.01 |
[ React.js ] input, onChange 이벤트, 입력창 핸들링, 예제 (0) | 2021.09.01 |
[ React.js ] 클릭 이벤트 구현 , 버튼 클릭 시 값 증가, 예제 (0) | 2021.09.01 |
댓글 영역