/시험 병합에 더 좋은 방법 : 우리는 이것을 현재깊은 갱신 lodash와 ES6의 개체 또는 깊은 갱신하는 방법을 찾고 다른 라이브러리
하고있어 :
{
..._companies,
['c124']: {
..._companies.c124,
['fields']: {
..._companies.c124.fields,
['f4']: {
..._companies.c124.fields.f4,
value: 'white'
}
}
}
이상적으로 우리는이 작업을 수행 할 때 : 그것은 완전히 C124 키를 대체로
update_merge(_companies, {
c124: {
fields: {
f4: {
value:'white'
}
}
}
})
간단한 완전 병합이 경우 작동하지 않습니다.
원래 _companies는 니펫을 :
const companies = {
c123: {
id: 123,
name: 'Company one',
fields: {...} // fields
},
c124: {
id: 124,
name: 'Company two',
fields: {
f1: {...}, //...fields
f2: {...}, //...fields
f3: {...}, //...fields
f4: {
id: 4,
fieldType: "shortText",longText
title: "favorite color",
value: 'green', // <==== only this will change
},
},
}
}
이 예상 결과 : 우리가 immutability-helper을 사용하는 우리의 프로젝트에서
const companies = {
c123: {
id: 123,
name: 'Company one',
fields: {...} // fields
},
c124: {
id: 124,
name: 'Company two',
fields: {
f1: {...}, //...fields
f2: {...}, //...fields
f3: {...}, //...fields
f4: {
id: 4,
fieldType: "shortText",longText
title: "favorite color",
value: 'white', // <==== this changed
},
},
}
}
원래 '회사'개체를 추가 하시겠습니까? –
...과 예상되는 결과입니다. –
@OriDrori 요청시 추가됨 – Guy