Estoy obteniendo datos de una API en Nuxt3. Estoy usando mecanografiado y deseo definir el tipo de datos que obtendré. ¿Cómo especifico esto?
<script lang="ts" setup> interface APIBody { /* properties defined here */ } const {data} = await useFetch("api_url here") </script> <template> {{ data.name.officialName }} <template> Recibo un error en la template donde estoy mostrando data.name.officialName
La propiedad 'nombre' no existe en el tipo 'nunca'
Sin embargo, mientras ejecuta el código en el navegador, el sitio web funciona bien.
Editar Intenté el siguiente código pero ahora recibo un error diferente.
<script lang="ts" setup> interface APIBody { /* properties defined here */ } const typedData = ref<APIBody[]>() const {data} = await useFetch("api_url here") typedData.value = data as APIBody[] // -> error here </script> <template> {{ data.name.officialName }} <template>El error en este caso es:
La conversión del tipo 'Ref<Pick<desconocido, nunca>>' al tipo 'APIBody[]' puede ser un error porque ningún tipo se superpone lo suficiente con el otro.
Puede dar un tipo a useFetch para definir el tipo de retorno
Me gusta:
interface APIBody { /* properties defined here */ } const {data} = await useFetch<APIBody>("api_url here")