안녕하세요.
지금 part 2. 마지막 강의에 주문하기 버튼 누르면 재고 개수가 감소하도록 만드는 코드 작성하고 있는데, 제 생각처럼 기능하지 않아서 질문 남깁니다.
`
<button
className='btn btn-danger'
onClick={() => {
const newStock = [...props.stock];
props.handleStock(newStock[id] -=1);
}}>
주문하기
</button>
`
혹은,
`
<button
className='btn btn-danger'
onClick={() => {
const newStock = [...props.stock];
props.handleStock(newStock[id] -1);
}}>
주문하기
</button>
`
이렇게 작성했었는데, 아래와 같은 에러가 뜨면서 작동하지 않습니다.

그래서 아래와 같이 수정해보니 정상적으로 작동하였습니다.
`
<button
className='btn btn-danger'
onClick={() => {
const newStock = [...props.stock];
newStock[id] -= 1;
props.handleStock(newStock);
}}>
주문하기
</button>
`
저는 두 개의 코드가 다를 게 없다고 생각이 드는데, 왜 state변경 함수 안에 newStock 배열의 값을 변경해 주려고 하면 안되는 걸까요??