Если вы хотите определить reduce
, используйте toppings.reduce<Record<number, Topping>>
.
Если вы хотите определить сам обратный вызов или придерживаться Topping
, тогда выполните <T extends Topping = Topping>
.
const entities = toppings.reduce(
<T = Topping>(entities: { [id: number]: T}, topping: T): Record<number, T> => {
return {
...entities,
[topping.id]: topping,
};
},
{
...state.entities,
}
);