state 변경함수 특징
기존 state와 신규 state가 같은 경우 변경하지 않는다. (에너지 절약)
let [coat,setCoat] = useState(['맥코트','롱코트','트렌치코트'])
return (
<div>
<button onClick={() => {
let copy = coat; // 깊은 복사 (같은 화살표)
copy[0] = '하프코트';
setCoat(copy); // 변경 안됨 (copy === coat 가 true이기 때문이다.)
// react state 특성상 기존 state와 신규 state가 같다고 판단하면 변경하지 않는데
// 여기서 신규 state와 기존 state가 같다고 판단하기 때문에 '하프코트'라고 변경되지 않는다.
}}></button>
</div>
)
*깊은 복사와 얕은 복사