cannot add property 'X', object is not extensible
오늘은 extensible 할 수 없다는 에러메시지를 경험했다.
우선 구글링을해서 해당 에러가 어떨 때 발생하는지 찾아보았다.
https://stackoverflow.com/questions/55567386/react-cannot-add-property-x-object-is-not-extensible
우선 props를 직접 수정할 수 없는데, 이걸 건드려서 발생하게 된 것 같다.
props를 직접 수정할 수 없으므로, 복사본을 만들어 사용하면된다.
stackoverflow의 답변과 같이 JSON.parse() and JSON.stringify()
를 사용해도 되고, 편한 방법으로 복사본을 만들어서 사용하면 된다.
에러 메시지와 해결방법 자체는 간단하지만 근본적인 원인을 이해하지못했다.
해당 props는 useRecoilState로 불러온 상태값에 담을때만 발생하였고,
useState로 불러온 값에 담을때는 문제가 되지않았다.
아직 recoil 공부가 미숙하여, 해당 과정에서 내가 알지못하는 무엇가가 일어나는것같다.