我们有一个使用React + Redux + ImmutableJS的项目。我们的一位工程师最近增加了一个辅助方法来支持它传递时,一个组件作为道具解构的ImmutableJS地图:React Component Props的解构ImmutableJS映射
export function toObjectShallow(mapping: Map) {
const result = {};
mapping.map((value, key) => {
result[key] = value;
});
return result;
}
因此,我们仍然可以做以下和避免重复调用是详细到Map.get
:
this.props.xyz)}/>
是的,这实质上是使原始对象的两个浅拷贝(我们的方法+解构)。这应该是最低的费用。我想知道,因为我没有在React/Redux/Immutable社区的其他地方看到这样的推荐,还有什么我错过了会使这种不理想的吗?
传递的属性仍然是原始的,不可改变的道具。它只是包含的对象被突变,这并不重要,因为它不会传递给组件。那么,是什么给了?这似乎是这样一个简单的解决方案,同时避免toJS()
。为什么不在任何地方提及?
这家伙很懒,还没有设置简介