... 여기에 내가 뭐하는 거지되는 반작용는 JS가 확산 연산자와 배열의 첫 번째 항목을 편집 내가 ES6 확산 연산자를 사용하여 내 감속기의 지정된 인덱스 배열의 항목을 업데이트 할
let array = action.payload.items;
return [...array, array[3].id:555]
이 방법으로 편집 작업이 잘되지만 배열에 추가 항목이 추가됩니다.
어떤 도움말 ???
... 여기에 내가 뭐하는 거지되는 반작용는 JS가 확산 연산자와 배열의 첫 번째 항목을 편집 내가 ES6 확산 연산자를 사용하여 내 감속기의 지정된 인덱스 배열의 항목을 업데이트 할
let array = action.payload.items;
return [...array, array[3].id:555]
이 방법으로 편집 작업이 잘되지만 배열에 추가 항목이 추가됩니다.
어떤 도움말 ???
색인을 생성하여 항목을 가져 와서 복제하고 id
을 Object#assign으로 변경하십시오. 새 배열에 적절한 장소에 업데이트 된 항목을 삽입하는 Array#slice 및 spread를 사용하여 새 배열을 생성 :
const items = [{ id: 1 }, { id: 2 }, { id: 3 }]; // action.payload.items
const index = 1;
const itemToUpdate = Object.assign({}, items[index], { id: 1000});
const result = [...items.slice(0, index), itemToUpdate, ...items.slice(index + 1)]; // return ...
console.log(result);
가 여기에이 대답을 고려하십시오 : https://stackoverflow.com/a/34582848/51428
이를 yiu가 요소를 제거하는 색인에 새 객체를 삽입하여 질문에 쉽게 적용 할 수 있습니다.
당신은 또한 내가 내 질문에 업데이트 된 새로운 요소const itemToUpdate = {...items[index], id: 1000}
을 만들 확산 사용할 수있게된다 그대로 이전 요소를 유지 고려, 내가 편집하려는 배열 인덱스 정확히 첫째하지 –
참조가 될 수 있습니다 업데이트 된 답변. –