<button
onClick={() => {
let list = shoes.sort((a, b) => a.price - b.price);
setShoes([...list]);
// state의 값을 다시 재정비해줘야함. 그 역할 setShoes
// 유레카 이걸 안해서 바로바로 버튼을 눌러도 적용이 안됐었음
}}
>
가격순 정렬하기!!
</button>
위의 코드에서
setShoes([...list]) 를 해줘야 정상작동을 하더라구요.
...은 깊은 복사를 해서 메로리 주소까지 독립적으로 만들어주고 기존의 값과는 별개다.
라는 이론적인 학습은 했지만 왜 해줘야하는지 명확히 잡히질 않아서 질문올립니다.