У меня есть состояние избыточности, которое мне нужно обновить, оно выглядит так:
[
{
date: moment("2019-06-15").toObject(),
attendance: [
{
name: "Ruben Hensen",
membershipNumber: "2084700",
attending: true,
present: false
},
{
name: "Peter Petersen",
membershipNumber: "2084701",
attending: true,
present: false
},
{
name: "Karel Kootjes",
membershipNumber: "2084702",
attending: true,
present: false
},
{
name: "Niedaar Mennekes",
membershipNumber: "2084703",
attending: true,
present: false
},
]
},
...
...
...
]
Мой редуктор пытается найти правильную неделю, чтобы он мог обновить ее позже, но не может найти правильную неделювнутри массива.
TOGGLE_PRESENCE: (state, action) => {
console.log(state);
console.log(action);
const index = state.findIndex(week => week.date === action.payload.date);
console.log(index);
}
Проблема в том, что я использую Redux Starter Kit, и он использует Immer внутри редукторов.Если я запускаю мой редуктор, это результат журналов консоли.
Невозможно найти правильную неделю.Любые советы или указатели будут оценены.Я не совсем понимаю Immer или объекты Proxy, которые он использует.
Редактировать: @markerikson решил проблему.Я изменил это:
const index = state.findIndex(week => week.date === action.payload.date);
на это:
const index = state.findIndex(week =>moment(week.date).isSame(action.payload.date));
И теперь он находит правильный индекс.