Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Hook
- MariaDB
- NVM
- Java
- nginx
- SetMail
- useEffect
- SpringCamp2017
- 진1926
- docker
- SpockFramework
- 양살치살
- SpringCamp
- 전나라동동공주
- 고릴라볼링장
- 강다니엘
- react
- Replacation
- Spring
- 판교
- DockerCompose
- 바스트로37
- BDD
- react component
- NapuCon2016
- State
- 오삼철판볶음
- 오뚜기숯불소금구이
- SpringCamp2019
- 신미낙지
Archives
- Today
- Total
Note
React Hook - useState 본문
useState
Hook에서는 컴포넌트 안에서 상태를 관리할 수 있도록 하기 위해 useState 라는 API를 제공합니다.
useState는 상태 값과 상태를 업데이트할 수 있는 함수 쌍을 반환합니다.
예시 코드는 다음과 같습니다.
useState 예시
import React, {useState} from "react"
const HookUseState = (props) => {
// count 라는 상태를 만들고, 0을 초기값으로 사용합니다.
const [count, setCount] = useState(0);
const handleButtonClick = () => {
// 카운트 값을 1 증가하여 상태를 업데이트합니다.
setCount(count + 1)
};
return (
<div>
<p>클릭 수: {count}</p>
<button type="button" onClick={handleButtonClick}>클릭</button>
</div>
);
};
export default HookUseState;
예시에서 볼 수 있듯이 useState API를 통해 상태값과 업데이트 함수를 받고, 상태를 관리할 수 있습니다.
클래스형 컴포넌트의 setState와 다른 점은 hook의 state는 이전의 state와 합치지 않는 것입니다.
useState는 다음과 같이 함수를 인자로 전달하여 사용할 수도 있습니다.
useState 함수 예시
import React, {useState} from "react"
const HookUseState = (props) => {
// count 라는 상태를 만들고, 0을 초기값으로 사용합니다.
const [count, setCount] = useState(() => {
// do something
return 0; // 초기값 반환
});
const handleButtonClick = () => {
// 기존 상태값에 1을 증가하여 상태를 업데이트합니다.
setCount(prevState => prevState + 1)
};
return (
<div>
<p>클릭 수: {count}</p>
<button type="button" onClick={handleButtonClick}>클릭</button>
</div>
);
};
export default HookUseState;
useState는 setState와 달리 state가 업데이트된 이후에 callback 함수를 실행하도록 할 수 없습니다.
References
- https://ko.reactjs.org/docs/hooks-overview.html
- https://ko.reactjs.org/docs/hooks-state.html
- https://ko.reactjs.org/docs/hooks-reference.html
'Dev > React' 카테고리의 다른 글
React Hook - useEffect (0) | 2020.02.18 |
---|---|
React Hook 소개 (0) | 2020.02.17 |
React ref (0) | 2019.12.16 |
React Lifecycle (0) | 2019.12.15 |
React Events (0) | 2019.12.15 |
Comments