728x90
출처 공식 문서 : Using the State Hook – React (reactjs.org)
대표적인 Hook으로 useState 가 있다.
1. state 변수 선언하기
과거)
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
count: 0
};
}
}
Hook)
import React, { useState } from 'react';
function Example() {
const [count, setCount] = useState(0);
}
>> 새로운 state 변수 count 를 선언. setCount는 count를 set해주는 함수 이름.
> state를 함수 컴포넌트 안에서 사용할 수 있게 해준다.
> 함수가 호출되고 끝나도 state 변수 값이 유지된다.(가장 큰 변경점)
> 그래서 상위컴포넌트에서 값을 받아 업데이트 해줄 필요가 없다.
> useState(초기값) 으로, count는 0으로 초기화되고 값을 갱신하려면 setCount를 호출하면된다.
2. state 가져오기
과거)
<p>You clicked {this.state.count} times</p>
Hook)
<p>You clicked {count} times</p>
3. state 갱신하기
과거)
<button onClick={() => this.setState({ count: this.state.count + 1 })}>
Click me
</button>
Hook)
<button onClick={() => setCount(count + 1)}>
Click me
</button>
4. 요약
import React, { useState } from 'react';
function Example(){
const [const, setCount] = useState(0);
return(
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
5. 팁
> 여러개 변수 선언 가능
function ExampleWithManyStates() {
const [age, setAge] = useState(42);
const [fruit, setFruit] = useState('banana');
const [todos, setTodos] = useState([{ text: 'Learn Hooks' }]);
}
728x90
'Front-End > React' 카테고리의 다른 글
[React Hook] 4. Hook 규칙 (0) | 2021.02.23 |
---|---|
[React Hook] 3. Effect Hook (0) | 2021.02.23 |
[React Hook] 1. Hook 소개 (0) | 2021.02.22 |
[react-redux] 5. 요약 (완) (0) | 2021.02.17 |
[react-redux] 4. ract-redux 도입 (0) | 2021.02.17 |
댓글