
import "./App.css";
import Box from "./component/Box";
function App() {
return (
<div>
<Box num="1" text="Hi"/>
<Box num="2" text="Hello"/>
<Box num="3" text="👋"/>
</div>
);
}
export default App;
import React from 'react'
const Box = (props) => {
return (
<div className="box">
Box {props.num}
<p>{props.text}</p>
</div>
)
}
export default Box
구조 분해 할당을 사용하여, 아래와 같이 받을 수도 있다.
import React from 'react'
const Box = ({num, text}) => {
return (
<div className="box">
Box {num}
<p>{text}</p>
</div>
)
}
export default Box

React에서는 state 를 다루는 방법 중 하나로 useState 라는 특별한 함수를 제공한다. 이를 import하여 사용한다.
import { useState } from 'react';
useState 를 호출하면 배열을 반환하는데, 배열의 0번째 요소는 현재 state 변수이고, 1번째 요소는 이 변수를 갱신할 수 있는 함수입니다. useState 의 인자로 넘겨주는 값은 state의 초깃값이다.
const [state 저장 변수, state 갱신 함수] = useState(상태 초기 값);
버튼을 두 개 만들어서 버튼1을 누르면 숫자가 올라가도록하고, 버튼2를 누르면 숫자를 초기화하도록 해보자
const [counter, SetCounter] = useState(0);
const increase = () => {
setCounter(counter+1)
}
const reset = () => {
setCounter (0);
}
→ 전체 코드
import "./App.css";
import { useState } from 'react';
function App() {
const [counter, setCounter] = useState(0);
const increase = () => {
setCounter(counter+1)
}
const reset = () => {
setCounter (0);
}
return (
<section>
<div>횟수: {counter}</div>
<button onClick={increase}>클릭</button>
<button onClick={reset}>초기화</button>
</section>
);
}
export default App;
button1에는 onClick 리스너로 클릭을 하면 increase 함수가 실행되도록, button2는 reset 함수가 실행되도록 했다.
