JavaScript/React
React - className, useState 활용
내이름효주
2024. 3. 20. 22:46
- css, js 활용 (className)
<div id="root"></div>
.square {
width: 200px;
height: 200px;
background-color: red;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
color: white;
margin-top: 10px;
}
.circle {
border-radius: 50%;
width: 200px;
height: 200px;
background-color: gold;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
color: white;
margin-top: 10px;
}
-> 클래스 이름을 활용한 style 설정
console.clear();
import React, { useState } from "https://cdn.skypack.dev/react@18";
import ReactDOM from "https://cdn.skypack.dev/react-dom@18";
const Square = () => {
return <div className="square">정사각형!</div>;
};
const Circle = () => {
return <div className="circle">원!</div>;
};
const App = () => {
return (
<div>
<Circle />
<Square />
<Circle />
<Square />
</div>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
- useState
// 1번 예시
const App = () => {
return <div></div>;
};
// 2번 예시
const App = () => {
return (<div></div>);
};
// 3번 예시 -> 2번과 같은 경우 div 생략 가능!
const App = () => {
return (
<>
</>
);
};
console.clear();
import React, { useState } from "https://cdn.skypack.dev/react@18";
import ReactDOM from "https://cdn.skypack.dev/react-dom@18";
let AppCallCount = 0;
const App = () => {
console.log("AppCallCount 실행 횟수: " + AppCallCount++);
const [num, setNum] = useState(100);
console.log("num : " + num);
return (
<>
<div>현재 숫자 : {num}</div>
<button onClick={() => {
setNum(num + 1);
}}>버튼</button>
</>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
- const [num, setNum] = useState(100); -> num, setNum: getter, setter에서 쓰이는 뜻과 같음
- setNum()으로 num을 세팅시켜줌