Всем доброго времени суток. Подскажите, пожалуйста, сам не могу разобраться.
Есть SPA на react redux.
Есть форма с кучей селектов и инпут. Заполняю все и по отправке формы отправляю в стор такой объект.
{
name: "",
grades: {
russianLanguage: 0,
literature: 0,
englishLanguage: 0,
mathematics: 0,
algebra: 0,
geometry: 0,
physics: 0,
history: 0,
socialStudies: 0,
odknr: 0,
geography: 0,
biology: 0,
chemistry: 0,
computerScience: 0,
visualArt: 0,
music: 0,
technology: 0,
physicalCulture: 0,
lifeSafety: 0
}
};
В reducer я обрабатываю его так
case ADD_PUPIL:
return { ...state, pupils: [...state.pupils, action.payload] };
В сторе у меня есть массив и я хочу каждый раз добавлять такие объекты в массив.
Но каждый следующий dispatch перезаписывает в сторе каждый объект на последний отправленный. В самом начале проекта все работало как надо, потом неожиданно начало работать так.
Devtools показывает что отправляются action с разными payload
1 action: {
type: 'ADD_PUPIL',
payload: {
name: 'фывфыв',
grades: {
russianLanguage: 0,
literature: 0,
englishLanguage: 0,
mathematics: 0,
algebra: 0,
geometry: 0,
physics: 0,
history: 0,
socialStudies: 0,
odknr: 0,
geography: 0,
biology: 0,
chemistry: 0,
computerScience: 0,
visualArt: 0,
music: 0,
technology: 0,
physicalCulture: 0,
lifeSafety: 0
}
}
2 action:
{
type: 'ADD_PUPIL',
payload: {
name: '123123',
grades: {
russianLanguage: 4,
literature: 4,
englishLanguage: 4,
mathematics: 4,
algebra: 4,
geometry: 4,
physics: 4,
history: 4,
socialStudies: 4,
odknr: 4,
geography: 4,
biology: 4,
chemistry: 4,
computerScience: 4,
visualArt: 4,
music: 4,
technology: 4,
physicalCulture: 4,
lifeSafety: 4
}
}
}
Как правильно добавить такой объект в store без перезаписи?