Auto-completion is not a TypeScript feature. TS can help, but most of the auto-completion relevant for components isn't really helped by a generic component. Especially if you're just establishing a data prop.
The code has so many flaws despite TypeScript, it's difficult to see how generics could help:
Assuming data is an array of objects without mandating that.
Getting the keys only from the first item of that array...
... but somehow assuming the key needs an explicit toString call and the value is renderable.
The benefits of generics aren't actually shown here either. In fact, even the example at the end doesn't actually use a typed instance of the generic component.
Generics can be useful, if you're mandating a relationship between the types of different arguments/props. For example, say, mandating a { data: T[], render: (T) => Element } prop list.
data
prop.data
is an array of objects without mandating that.toString
call and the value is renderable.Generics can be useful, if you're mandating a relationship between the types of different arguments/props. For example, say, mandating a
{ data: T[], render: (T) => Element }
prop list.Not going to answer all your comments, but regarding your claim that I am not using a typed instance, please read about Type Inference:
typescriptlang.org/docs/handbook/t...