반응형
개체 배열에 대한 새 특성을 생성할 때 개체를 확장할 수 없는 오류
나는 Javascript 배열을 확장해야 하는 기능이 있는데, 여기에는 새로운 속성인 Javascript 배열이 포함된다.selected
:
export const initSelect = (data) => {
let newData = data.concat();
newData.map((item) => {
item.selected = false;
})
return newData;
}
data
반응이다JS 상태 값(에서 얻음)this.state.data
함수를 부를 때)라고 하지만, 이것은 로서는 문제가 되지 않는 것 같았다.newData
의 새로운 사본이다data
배열...
다음 오류가 발생함:
TypeError: Cannot add property selected, object is not extensible
개체를 복사해야 할 경우:
export const initSelect = (data) => {
return data.map((item) => ({
...item,
selected: false
}));
}
연장할 수 없음item
와 함께selected
그리고 당신의 배열이 단지 얕은 복사본일 뿐이지
확장할 수 있으려면 어레이를 자세히 복사해야 한다.다음과 같은 것으로 충분할 수 있다.
let newData = data.map((item) =>
Object.assign({}, item, {selected:false})
)
data = JSON.parse(JSON.stringify(data)));
const newObj = Object.assign({selected: false}, data);
반응형
'programing' 카테고리의 다른 글
하위 구성 요소에서 상위 데이터 업데이트 (0) | 2022.03.08 |
---|---|
v-on="의 기능VueJS에서 구문 의미 (0) | 2022.03.08 |
기본 벡터 아이콘에 반응하여 여러 파일에서 아이콘을 가져오는 방법 (0) | 2022.03.08 |
vuetify 아이콘이 표시되지 않음 (0) | 2022.03.08 |
목록이 비어 있는지 확인하는 방법 (0) | 2022.03.08 |