Глядя на этот, я думаю, что Immutable. Запись - это структура данных для представления "неизменяемых объектов javascript", но я хочу обновить сразу несколько полей, не создавая при этом каждый раз каждый набор вызовов.
Я хочу сделать что-то вроде этого
class LoginContext extends Immutable.Record(
{ logged : false, loading: false, error: false, user: null}){
}
var loginContext = new LoginContext()
var anotherContext = loginContext.set({'logged':'true', 'error':'false'})
I читать, что вы не можете передать объект в Record.set() для API согласованность:
Согласованность с другими применениями набора как в этой библиотеке и в ES6. Map и Set set не могут принять объект, потому что их ключи могут быть любыми, а не только строками. Записи должны иметь строки, но поддерживая совместимость API, важно.
И я знаю, что могу использовать:
var anotherContext = loginContext.withMutations(function (record) {
record.set('logged','true').set('error','true');
});
Есть другой способ, или я неправильно использую запись?