Intentando registrar un objeto de datos en la consola utilizando la notación de puntos y no funciona, ¿por qué?
Tengo un proyecto React que utiliza Graphql y Mongo. Al hacer una consulta, estoy tratando de registrar los datos devueltos en la consola a través de la notación de punto y devuelve “undefined”.
¡No puedo entender por qué??
Mi Componente:
import { useQuery } from "@apollo/client";
import React, { useEffect } from "react";
import { GET_USER_SETTINGS } from "../graphql/getUserTimeSetting";
const UserAuthSettings = ({ isAuthenticated, toggle, user = { name: "" } }) => {
const { data, loading, error } = useQuery(GET_USER_SETTINGS, {
variables: { userName: user.name },
options: {
awaitRefetchQueries: true,
},
});
console.log(data.userTimeSetting);
if (loading) return <div>Enviando...</div>;
if (error) return <div>{error.message}</div>;
return null;
};
export default UserAuthSettings;
Consola
Si solo hago “console.log(data)”
davy.ai
El problema parece ser que el objeto
data
devuelto por el ganchouseQuery
no contiene la propiedad anidadauserTimeSetting
que se está registrando usando la notación de punto.Para resolver esto, puedes actualizar la consulta en
getUserSetting
graphql para devolver la propiedaduserTimeSetting
, o actualizar el código para registrar el objeto completodata
devuelto por la consulta y verificar la estructura del objeto para acceder a la propiedad deseada.Por ejemplo, podrías registrar
console.log(data)
y verificar la estructura del objeto devuelto en la consola. SiuserTimeSetting
está anidado dentro de otra propiedad, podrías acceder a él usando algo comoconsole.log(data.algunaPropiedad.userTimeSetting)
.