본문 바로가기

트러블슈팅

Uncaught TypeError: Cannot assign to read only property '0' of object '[object Array]' at Array.sort (<anonymous>)

문제의 오류
문제의 원인

 

 

 

 

state값을 컴포넌트로 가져와서 정렬해서 사용하고싶었는데, 위와 같은 오류가 발생하였다.

원본배열이 깊은 복사가 아닌, 얕은 복사일 때 이러한 오류가 나타난다고 한다. (배열이 고정된 상태이기 때문이라고함)

 

 

 

스프레드 연산자 이용

 

 

 

그래서 위와 같이, 스프레드 연산자를 이용해서 깊은 복사를 해준 뒤, 정렬하니 잘 작동하였다!

 


아까 위에서 배열이 고정되어있어 복사를 해주어야 한다고 했는데, 그에 대한 구체적인 답변은 아래 스택오버플로우를 참고하자.

 

https://stackoverflow.com/questions/53420055/error-while-sorting-array-of-objects-cannot-assign-to-read-only-property-2-of/53420326