Можно ли одним экшеном менять свойство состояния, зависящее от другого свойства?

Пример:

let state = {
  day : null,
  dayOfTheWeek : null
}

В объекте состояния есть свойство дня недели (в цифрах) и дня недели (в строке). Допустим, с сервера мы получаем цифру дня недели. Затем нам нужно определить название этого дня (если 0 - то 'воскресенье',если 1 - 'понедельник' и т.д). Можно ли как-то эту логику поместить в один экшн? Или нужно сначала получить значение цифры, а потом отдельным экшеном менять свойство, зависящее от этой цифры?


Ответы (1 шт):

Автор решения: CbIPoK2513

Что-то такое?

let state = {
  day: null,
  dayOfTheWeek: function() {
    return ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'][this.day];
  }
}

for(let i = 0; i < 7; i++) {
  state.day = i;
  console.log('day: '+i+' - '+state.dayOfTheWeek());
}
.as-console-wrapper {max-height: 100vh !important; height: 100%;}

→ Ссылка