I have an interface that's created as an extension of a couple of other interfaces from an external library:
interface LabeledProps extends TextProps, ComponentProps {
id: string;
count: number;
...
}
In another place in the code, I have an object of type LabeledProps
and I would like to loop through all its properties:
function myFunc(props: LabeledProps):void {
for (let key in props) {
const val = props[key]; // <-- ERROR IS HERE
// do other stuff
}
}
The line const val = props[key]
throws a typescript error (though the compiled code actually runs just fine):
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'LabeledProps'.
What is the right way (or ways) to accomplish this? Thanks!
(Note: I know I could add [key: string]: any
to the interface definition and that will remove the error message, but I would like an actual fix, not just a hiding-the-error fix.)
Comments
Post a Comment