uncaught typeerror: cannot assign to read only property '0' of object '[object array]'
위의 오류는 원본의 배열을 건드릴 경우 발생한다.
const data = useSelector((state) => state.postModule.posts);
data.sort((a, b) => b.clickCounter - a.clickCounter);
sort는 원본의 배열을 변경하는 메서드다.
그렇기 때문에 data를 변경하게 되는데, 저 data는 모듈의 state를 가리키기 때문에 변경할 수 없다.
const data = useSelector((state) => state.postModule.posts);
const bestData = data.slice(0, 6);
bestData.sort((a, b) => b.clickCounter - a.clickCounter);
그래서 위 코드처럼 복사를 한 후 변경을 하면 되는데,
slice메서드는 새로운 배열을 만들어내기 때문에 data를 건드리지 않는다.