useState(초기값) - 함수(hook)
useState() : 배열반환
첫번째 배열의 요소에는 현재값을, 두번째 요소는 상태를 변경하는 (setter) 를 반환합니다.
const [data, setData] = useState('초기값')
state는 어떤 타입이던 상관 없습니다. (str, number, object, array, boolean… )
state는 여러개 일 수도 있습니다.
state는 직접 수정하면 안 됩니다. setter를 사용하세요!
잘못된 코드
const StateComponent = () => {
const [msg, setData] = useState('초기값')
const exter = () => {
msg = '나는 이렇게 바꿀꺼야!'; //error!!!! (렌더링 x)
}
return (
<div>
<h3>{msg}</h3>
<button onClick={enter}>입장</button>
</div>
)
}