¿Podría por favor ayudarme aquí? Quiero mapear a través de un objeto de respuesta (ejemplo a continuación). No tengo ningún error en VSC pero en el navegador hay un error: Error no detectado: TypeError: data.map no es una función
{ "title":"some title", "info":"some info", "users": [ { "id":1, "name":"name1", "surname":"surname1", "email":"email1", }, { "id":2, "name":"name2", "surname":"surname2", "email":"email2", }, .... ], "resource": { "url":"some url", "description":"some description" } }Aquí están mis interfaces:
export interface IUsers { id: number, name: string, surname: string, email: string } export interface IData { title: string, info: string, users: IUsers, resource: { url: string, description: string } }Lo que tengo por ahora:
const { data } = DataAPI.useFetchAllDataQuery('') ... {data && data.map(item => item.users.map(user => ( <User user={user} key={user.id}/>)))} debería probar data.users.map(...) --> la propiedad 'usuarios' no existe en el tipo IData[].
Puede ser por el hecho de que 'datos' no es una matriz, pero no estoy seguro de cómo usar esta construcción Object.entries(data).map()...
¿Puedes intentar hacer algo como esto?
const { data } = await DataAPI.useFetchAllDataQuery('') // Assuming this is a promise {data && data.users.map(user => (<User user={user} key={user.id}>))}o tal vez encadenamiento opcional
{data?.users?.map(user => (<User user={user} key={user.id}>))}