#0. React 에서는 왜 변수에 데이터 저장안하고 굳이 state씀?
- 일반 변수와 달리, state데이터는 변경시, 재랜더링이 일어나, 변경 사항이 바로 화면에 적용되기 때문이다.
#1. 예제
- 버튼을 클릭하면 +1씩 되는 좋아요 버튼을 만들어보자.
- state만 변경하면 변경사항이 적용되는지 확인할것.
* 실습 전 알아두어야 할점
1. 클릭이벤트 onClick={} 을 이용해서 넣기
- {}안에는 반드시 함수가 들어가야한다.
- 그러니까, onClick={함수명} 또는 onClick={() => {코드..}} 형태로 작성해야한다.
2. state 변경하는 방법
- state변수를 변경하고 싶다면, 항상 state변경함수(새로운state) 의 형태로 변경해야한다.
let [like, setLike] = useState(0);
// 위의 like state를 변경하기 위해선
// state변경함수(새로운state)
setLike(like+1);
* 적용된 코드
import React from 'react';
// 1. useState import
import { useState } from "react";
export function App(props) {
// 2. 좋아요 카운팅 숫자 저장
let [like, setLike] = useState(0);
return (
<div className='App'>
{/* 3. 좋아요 버튼에 onClick을 사용하여 +1 하기 */}
<button type="button"
onClick={()=>{
setLike(like + 1)
}}>
좋아요 {like}번
</button>
</div>
);
}
* 결과
- like 값만 변경했을 뿐인데, 변경시마다 {like}값이 재랜더 된다.
* 테스트 해보기
'Study > React.js' 카테고리의 다른 글
[React] JSX에서 if문 어떻게 씀? 삼항연산자 (0) | 2023.07.14 |
---|---|
[React] useState3. array/object로 저장된 state, 변경했는데 왜 적용 안됨? (0) | 2023.07.13 |
[React] useState 사용법1 (0) | 2023.07.12 |
[React] React에서 마크업을 편하게 해주는 JSX 사용법 (0) | 2023.07.11 |
[React] React 프로젝트 시작하기 (create react app 사용) (0) | 2023.07.11 |