Am i이 함수를 사용하여 redux 상태를 돌연변이합니까?돌연변이가없는 중첩 된 redux 상태 수정
function addDefinition(object, payload) {
var newObject = Object.assign({}, object);
if(!newObject[payload.guid]){
newObject[payload.guid] = [];
}
newObject[payload.guid].push(payload);
return newObject;
}
응용 프로그램의 다른 부분과 관련된 데이터를 보유하기위한 구조를 만들고 싶습니다.
newObject에서 복사본을 만들었지 만 기존 배열을 변형시킬 수 있습니까? – Galupuf
'object'가 지난 시간의 결과이고,이'payload.guid' 값을위한 배열을 이미 포함하고 있다면,'newObject'는 동일한 배열에 대한 동일한 참조를 가질 것입니다. – markerikson
Aw 예, 이제 MDN (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign 참조)에서 볼 수 있습니다 .Diff 복제에 대한 경고 참조 Object.assign 연산자 당신이 Object.assign 메서드를 중첩 할 필요가 있기 때문에 깊은 복제본을 작성하지 않습니다. 나를 똑바로 설정해 주셔서 고마워요! – Galupuf