저는 React, Redux 및 Immutable으로 게임을 해왔고 정말 싫어하는 것을 발견했습니다. fromJS 도우미를 사용하여 불변으로 파싱하는 서버에서 반환 된 큰 JSON 데이터 집합이 있습니다.Immutable.js - fromJS가지도 대신 레코드를 생성합니다.
모든 구성 요소의 속성에 액세스 할 때 Immutable 특정 getter 및 setter를 사용해야합니다. 내 이슈는 바뀔 수 없다는 말에 변명했다. 내가 바꾸기로 결정한 것은 각 컴포넌트를 거치고 그에 따라 조정해야한다는 것이다.
내 질문에 현재 나와있는 fromJS는 목록 및지도를 반환하며지도를 레코드로 대체 할 수 있습니까?
그러면 구성 요소가 변경되지 않고 고유 속성을 갖게됩니다 (예 : 이 아닌 user.get('name')
).
리바이벌에 대해 조금 읽었지만 비슷한 사용 사례를 찾을 수 없습니다.
내가 가진 플레이를 했어 다음하지만 난 그게 최선의 해결책인지 확실 해요 :
var result = Immutable.fromJS({
id: 2039428947,
name: 'James',
email: '[email protected]',
country: 'United Kingdom'
}, function(key, value) {
var obj = Immutable.Record(value.toJS());
return new obj(value);
});
감사 ImmutableJS을 사용하여에 관심있는 다른 사람들을위한
변경할 필요가 없습니다. 사용하지 않아도됩니다. 여러분에게 더 잘 어울리는 [대체 방법] (https://github.com/rtfeldman/seamless-immutable)이 있거나 감속기에있는 주에서 새로운 원시 개체를 만들 수 있습니다. – robertklep