소플의 처음 만난 리액트_실습2

엘리먼트
리액트 앱의 가장 작은 빌딩 블록들
화면에 나타나는 내용을 기술하는 자바스크립트 객체
리액트 엘리먼트는 DOM 엘리먼트의 가상 표현
엘리먼트의 생김새
자바스크립트 객체 형태로 존재
컴포넌트 유형과 속성 및 내부의 모든 자식에 대한 정보를 포함하고 있는 일반적인 자바스크립트 객체
엘리먼트의 특징
불변성을 갖고 있음
엘리먼트 생성 후에는 자식이나 속성을 바꿀 수 없음
렌더링 ReactDOM의 render()라는 함수를 사용
VirtualDOM에서 실제 DOM으로 이동하는 과정
렌더링 된 엘리먼트를 업데이트 하려면 새로운 엘리먼트를 생성해서 업데이트 해야 한다!!!
시계 만들기 실습!!
//Clock.jsx
import React from "react";
function Clock(props) {
return (
<div>
<h1>안녕, 리액트</h1>
<h2>현재 시간 : {new Date().toLocaleTimeString()}</h2>
</div>
);
}
export default Clock;
//index.js
import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import Clock from "./chapter_04/Clock";
import reportWebVitals from "./reportWebVitals";
const root = ReactDOM.createRoot(document.getElementById("root"));
setInterval(() => {
root.render(
<React.StrictMode>
<Clock />
</React.StrictMode>
);
}, 1000);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
** setInterval()함수를 사용해 1초마다 새롭게 Clock컴포넌트를 렌더링하도록 만들었다.
개발자 도구의 Elements탭을 보면 1초마다 반짝거리면서 값이 변경되고 있는 것을 볼 수 있다.
반응형
'개발로그 > React' 카테고리의 다른 글
소플의 처음 만난 리액트_실습6 (0) | 2023.07.31 |
---|---|
소플의 처음 만난 리액트_실습5 (0) | 2023.07.11 |
소플의 처음 만난 리액트_실습4 (0) | 2023.07.11 |
소플의 처음 만난 리액트_실습3 (0) | 2023.07.11 |
소플의 처음 만난 리액트_실습1 (0) | 2023.07.11 |
댓글