В 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