I have component that accept Item, ant I use interface to describe it, but inside component I use next construction (I use another property to get currentItem field)
modalComponentsData.reduce((acc: any, el: any) => {
acc[el.name] = currentItem[el.name]
return acc
}, {}),
And I get next warning
TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ name: string; id?: string | undefined; }'
interface IItem{
name: string,
id: string
}
export default function ModalGroupComponent({currentItem}: IItem{
....some logic
modalComponentsData.reduce((acc: any, el: any) => {
acc[el.name] = currentItem[el.name]
return acc
}, {}),
}
accandelbetter types.currentItembeing declared?(acc: IItem[], el: IItem)might work for the arrow function but have you tried it without the type declaration?