2016-06-13 7 views
2

나는 내가 모든 사람들과 말씨를받을이 응답을 정상화하려는이normalizr 함수에서 비슷한 값을 병합하는 방법은 무엇입니까?

[ 
    { 
     id: 1, 
     name: "Alexandr", 
     children: [ 
     { 
      id: 2, 
      name: "Stephan" 
     }, 
     { 
      id: 3, 
      name: "Nick" 
     } 
     ] 
    }, 
    { 
     id: 4, 
     name: "David", 
     children: [ 
     { 
      id: 3, 
      name: "Nick" 
     }, 
     { 
      id: 6, 
      name: "Paul" 
     } 
     ] 
    } 
] 

같은 서버에서 이상한 반응이있다. 그래서, 나는이

const people= new Schema('people'); 
people.define({ 
    Children: arrayOf(people), 
    NotOwnChildren: arrayOf(people) 
}); 
let normalized = normalize(response.data, arrayOf(people)); 

하지만 난 오류 을 얻을 같은 일을 어린이 "두 사람이 병합 할 때, 자신의 불평등 데이터 발견"평면 이동 normalizr 사용 "값을. 이전 값을 사용하여." 동일한 ID를 가진 사람들을 병합하기 위해 normalizr을 조정하려면 어떻게해야합니까 (가장 최근의 데이터로 엔티티를 업데이트합니까)?

답변

3

people 두 개의 키가 서로 다른 값을 가지고있는 것처럼 보입니다 (예제 입력이 잘 렸다고 가정합니다). Normalizr를 들어

@ 2 :

수동으로 문제를 해결하기 위해 사용자 정의 mergeIntoEntity 기능을 사용할 수 있습니다.


Normalizr @> = 3.0.0의 경우 mergeStrategy을 사용해야합니다.

+0

ur 답변 주셔서 감사합니다. –