在ramda
如何一次更新多个属性?我能得到的最接近的是使用R.evolve()
。 evolve
希望我使用转换函数修改属性。我想直接做。但是,R.assoc()
允许我一次只修改一个属性,并且必须使用字符串指定属性。更新多个属性
这是我要做的事现在evolve
:
const STATE_INITIAL = {
isDisabled: true,
isLoading: false
};
R.evolve({
isDisabled: R.not,
isLoading:() => true // I don't want to set a value using a function
}, state)
在JS我会在object-spread
运营商,我会得到一个新的对象:
{ ...state, isDisabled: !state.isDisabled, isLoading: true}
有趣的选项,大卫。感谢您的分享。虽然很详细。我现在让答案不被接受。也许有人会用另一种解决方案。如果没有新的出现,我会接受答案。 – zatziky