Пушу в массив айтем и хочу затем проверять, если он в массиве уже есть, то...
Зачем проверять, если вы его только что добавили и, следовательно, он там точно есть? Удаляйте просто так - без проверки. А можно и вообще ничего не делать, с тем же результатом - добавили-удалили, никаких изменений.
Сначала проверяем наличие элемента, затем
действуем в зависимости от результата проверки:
return {
...state,
items: state.items.includes(action.payload)
? state.items.filter(n => n !== action.payload)
: [ ...state.items, action.payload ],
};
Или,
при использовании redux-toolkit, вместо проверки наличия элемента ищем его индекс:
const index = state.items.indexOf(action.payload);
if (index === -1) {
state.items.push(action.payload);
} else {
state.items.splice(index, 1);
}