복붙노트

[REACTJS] 객체의 배열에 대한 새로운 속성을 만들 때 개체 확장 오류가 아닙니다

REACTJS

객체의 배열에 대한 새로운 속성을 만들 때 개체 확장 오류가 아닙니다

해결법


  1. 1.당신은 아마 개체를 복사해야합니다 :

    당신은 아마 개체를 복사해야합니다 :

    export const initSelect = (data) => {
     return data.map((item) => ({
         ...item,
         selected: false       
     }));
    }
    

  2. 2.당신은 선택 속성 항목을 확장 할 수 없습니다, 당신의 배열은 얕은 복사이다.

    당신은 선택 속성 항목을 확장 할 수 없습니다, 당신의 배열은 얕은 복사이다.

    당신이 확장 할 수있게하려면, 당신은 당신의 배열의 깊은 사본을해야 할 것입니다. 그것은 충분히있을 수 있습니다 :

    let newData = data.map((item) => 
        Object.assign({}, item, {selected:false})
    )
    

  3. 3.CONST NEWOBJ Object.assign = ({선택된 : FALSE}, 데이터);

    CONST NEWOBJ Object.assign = ({선택된 : FALSE}, 데이터);


  4. 4.

    data = JSON.parse(JSON.stringify(data)));
    
  5. from https://stackoverflow.com/questions/45798885/object-is-not-extensible-error-when-creating-new-attribute-for-array-of-objects by cc-by-sa and MIT license