我目前在我的React项目中使用immutablejs
来更新Redux数据存储。
假设:
const state = new Map({ key0: 'value0' });
使用.merge()
的示例:
state.merge({
key1: 'value1',
key2: 'value2',
});
使用多个.set()
:
state
.set('key1', 'value1')
.set('key2', 'value2');
应该推荐哪种方式?
答案 0 :(得分:1)
实际上merge
方法会在实施中调用set
。您可以在ImmutableJS
所以从我看来,使用set
是更好的表现(一点点)。你可以选择你喜欢的任何东西
答案 1 :(得分:1)
每次调用.set()都会创建一个新的不可变实例,因此链接它会导致不必要的内存污染。 您应该将其与.withMutations()配合使用,这样只会产生一个不可变的实例。
.merge()内部使用.set()和.withMutations(),但它还会调用一些额外的代码来处理多个合并参数。