Во втором примере вы пишете {id}
в качестве аргумента filter
, но filter
принимает в качестве аргумента функцию обратного вызова, написанную таким образом
(arg) => {/*my code*/;}
, поэтому возьмите этот кусок кодаи поместите в качестве аргумента этот результат
myFunction((arg) => {/*my code;*/})
вы также можете сделать
myCallback = (arg) => {/*my code*/;}
myFunction(myCallback);
также я предполагаю, что вы получите синтаксическую ошибку, так как основная часть вашей функции просто написана безАргументы.
Вот ваш первый пример с небольшим интервалом между скобками для лучшего понимания логики:
state.filter( ({ id }) => {return id !== action.id} );
Еще один способ записи, который будет
state.filter( function({ id }){return id !== action.id} );
Это понятнее?