Это является примером того, что мое состояние выглядит следующим образом:Добавить элемент в список, который находится внутри карты (ImmutableJS)
state = {
messages: [
{name: 'Bruce', content: 'Hello'},
{name: 'Clark', content: 'World'}
]
}
Я пишу редуктор, который будет принимать меры ADD_MESSAGE и добавить сообщение в список сообщений. Я хотел бы принять во внимание тот случай, когда ключ «сообщения» не определен. Я только начинаю использовать ImmutableJS.
Это, как я написал свою функцию:
// This is really bad
const addMessage = (state, message) => {
let mutableState = state.toJS();
if(mutableState.messages){
mutableState.messages.push(message);
}else{
mutableState = {messages: [message]}
}
return fromJS(mutableState);
}
Я уверен, что есть лучший способ сделать это. Он должен работать независимо от того, является ли мой аргумент состояния неизменным или нет. Есть идеи? Спасибо!
Большое вам спасибо! Immutable.Record - это именно то, что я искал, используя карту, казалось неправильной! – Statyx