addMany - все ок
потом в другом экшене делаю addOne и предыдущие два стираются, остается только action.payload, в чем может быть проблема?
Код на gist, codesandbox или хотя бы понятный скрин
const nextState = reducer(initialState, { type: 'staff/getStaffMembers/fulfilled', payload: mockData }) const finalState = reducer(nextState, { type: 'staff/createStaffMember/fulfilled', payload: mockCreateData }) expect(selectStaffMembers({ staffMembers: finalState })).toEqual([...mockData, mockCreateData]) здесь finalState имеет только один айтем в себе builder.addCase(getStaffMembers.fulfilled, (state, action) => { if (action.payload) { staffMembersAdapter.addMany(state, action.payload.map(staff => ({...staff, inviteState: 'idle'}))) } builder.addCase(createStaffMember.fulfilled, (state, action) => { if (action.payload) { console.log('state', state) staffMembersAdapter.addOne(state, { ...action.payload, inviteState: 'idle'}) } }) })
Это не gist и не скриншот
а вообще addOne может переписать текущий стейт?
Нет, это прост функция которая получает entity и возвращает новый стейт с добавленной entity
сделал консоль лог стейта в экшене, там
но на выходе получается один только объект с айди 003
Вроде явной ошибки не вижу
Обсуждают сегодня