He creado una función que envía una solicitud axios . Uso typescript y no quiero usar any como los tipos de datos de retorno de la función y la solicitud de axios .
Sin embargo, el problema es que el objeto que regresa contiene la identificación de parámetros, que a su vez es un objeto. Honestamente, nunca había visto un objeto así. Ni siquiera sé qué tipo de objeto es ese. Tal vez son algunas cosas básicas de las que nunca escuché hablar. Es bastante difícil hacer una buena búsqueda en Google al respecto.
Quiero crear una typescript interface partir de ella. Ni siquiera tengo una buena idea para empezar.
Agradecería cualquier ayuda
esta es una pequeña parte del objeto de retorno:
{ data{ '12345': { // params.id --> causing my poblem address: { ..., }}} }esa es mi funcion
async function getData (): Promise<IReturnData[]> { const {data} = await axios.get<IReturnData>(`....${id}`) // in our case 12345 return Object.entries(data.data)[0]; }¿Cómo debo construir IReturnData?
export interface IReturnData { data { string: { adress: Adress...... }}} or export interface IReturnData { data { "1234 but that will change on every request": { adress: Adress...... }}}Creo que lo mejor que puedes hacer es usar Mapped Types .
Pero no es perfecto, vea el ejemplo a continuación, o este parque infantil ...
interface MyModel { [key: string]: Address; } const goodExample: MyModel = { "12345": { country: "Germany" } } const badExample: MyModel = { // Sadly this also works, but I don't think there is a way to limit it to one key "12345": { country: "Germany" }, "23456": { country: "Germany" } }