WHAT TO MAKE
0이라는 숫자영역이 있다.
+1 버튼을 누르면 이 숫자가 1씩 증가, -1 버튼을 누르면 1씩 감소하도록 만들어보자! (아래 그림 참조)
HOW TO MAKE
- CRA로 리액트 작업할 폴더 생성
- App.js 에서 작업 시작
- React에서 useState 가져오기.
useState는 함수 컴포넌트에서 state를 사용할 수 있게 해주는 React의 Hook이다! - state를 만들어보자.
- count라는 이름의 상태 변수와, setCount라는 이름의 상태 변경 함수를 선언!
- useState(0)을 호출하여 초기값은 0으로 초기화해준다.
- setCount 함수를 이후 호출하여 count 변수의 값을 변경해준다.
- 이벤트 핸들러를 만든다.
- 화살표 함수를 사용해 count 가 1씩 증가하는 함수를 만든다. 버튼 클릭시 count 변수의 값을 1씩 증가시키고, 변경된 값은 setCount 함수를 사용해서 업데이트한다.
- JSX(쟉스) 문법을 사용하여 컴포넌트 만들어주기!
- React에서 useState 가져오기.
- 완성~~~
import "./App.css";
import { useState } from "react";
// *아래 App() 이 컴포넌트이며 이 컴포넌트의 이름은 반드시 대문자로 시작해야함!
function App() {
// 화면이 렌더링되기 위해서는 state의 변화가 있어야하므로,
// 화면에 있는 숫자는 state의 형태로 관리되어야한다!
// 1. 값이 변해야하는, 즉 화면에 UI를 렌더링해줄 state를 먼저 만들어보자
const [count, setCount] = useState(0);
const plustButtonClickHandler = () => {
const newPlustCount = count + 1;
setCount(newPlustCount);
};
// +1 버튼을 누를 때마다 값이 1씩 증가하는 함수 만들기
// -1 버튼을 누를 때마다 값이 1씩 감소하는 함수 만들기
return (
<div>
<div>{count}</div>
<div>
<button
onClick={() => {
const newCount = count - 1;
setCount(newCount);
}}
>
-1
</button>
<button onClick={plustButtonClickHandler}>+1</button>
</div>
</div>
);
}
export default App;
'What I Learnd > TIL' 카테고리의 다른 글
TIL - 반복되는 컴포넌트 간결하게 처리하기(map, filter) (0) | 2023.06.14 |
---|---|
TIL - package.json 파일과 node modules [오늘의 꿀팁🍯 ] (0) | 2023.06.14 |
TIL - React 개발 프로젝트 생성(CRA)과 설치 / 바벨이 뭐야? (0) | 2023.06.13 |
TIL - 여러개의 조건 동시에 적용해서 값 반환하기, 짝수 모두 더하기 (0) | 2023.06.12 |
TIL - 연산자 정리 (0) | 2023.06.09 |