자바스크립트 공부 초반에 만들어보았던 시계 만들기를 리액트로 진행해보겠습니다.
html 작성 내용은 이렇구요,
root라는 id를 가진 div 하나 생성.
<div id="root"></div>
해당 div에 출력할 Script(React.js) 작성
<script type="text/babel">
class App extends React.Component {
constructor (props) {
super(props)
// state 속성에 time 객체 저장
this.state = {
time : new Date()
}
}
render () {
return <h1>{this.state.time.toLocaleTimeString()}</h1>
}
// 컴포넌트가 화면에 출력될때
componentDidMount() {
this.timerId = setInterval( () => {
this.setState({
time: new Date()
})
console.log('ticking')
}, 1000)
}
// 컴포넌트가 화면에서 제거 될 때
componentWillUnmount() {
clearInterval(this.timerId)
console.log('ticking end')
}
}
const container = document.querySelector("#root")
ReactDOM.render(<App />, container)
</script>
해당되는 내용에서 컴포넌트(Component)가 언마운트(Unmount) 되는 경우는 없긴한데, 임시로 만들어놓았습니다.
다음에는 event와 연동하는 내용으로 작성할 수 있도록 하겠습니다.
[ React.js ] 클릭 이벤트 구현 , 버튼 클릭 시 값 증가, 예제 (0) | 2021.09.01 |
---|---|
[ React.js ] 에러 VM42:9 Uncaught TypeError: Super expression must either be null or a function, not undefined (0) | 2021.09.01 |
JSX 기본 문법 - 기초 (0) | 2021.08.27 |
[ React.js ] Render - 함수형으로 출력하자. - 예제 / 고양이 사진 출력하기 (1) | 2021.08.26 |
[ React.js ] Render() - 리액트 시작하기 예제 (0) | 2021.08.25 |
댓글 영역