state.filter(name => name!== action.name),
На вопрос почему `filter` не сработал.
Предположим у вас есть массив
[{name: 'Theodore Roosevelt', age: 27}, {name: 'Theodore Roosevelt', age: 25}] и вы хотите пройтись по нему фильтром.
`Filter` принимает callback функцию, которая будет вызвана для каждого элемента массива. Первый аргумент в этой функции будет сам элемент. И когда вы пишете `name` то в этом значении будет объект
{name: 'Theodore Roosevelt', age: 27}, то есть, чтобы ваш код сработал вам надо было написать
state.filter(name => name.name!== action.name),