I want to get object keys type, here i write a generic for object with keys as string
type GenericInput = {
[key:string]: {value:string,type:HTMLInputTypeAttribute,placeholder:string,min?:number,max?:number,required?:boolean, error?:string}
}
function PageContent(props: { children: React.ReactNode,inputs:GenericInput,getData:(data)=>void}) {
const [query,setQuery] = useState<GenericInput>(props.inputs)
const formKeys = Object.keys(query)
getData(query)
}
But I want to pass data such that i get object literal of key type So when that IDE provide auto-completion for keys. Kind of want to convert keys into literal type.
i want to achieve something like that,
type GenericInput = {
[key: Object.keys(query)]:{value:string,type:HTMLInputTypeAttribute,placeholder:string,min?:number,max?:number,required?:boolean, error?:string}
}
Typescript
RecordGeneric TypeTo Create an object interface with known keys you can use
Record, and, to create an object interface with unknown keys you can use[key: string]: TYPE.TO Work with
Recordand for you question :refs :
Typescript
RecordTypescript
GenericsEnjoy :)