在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