Lo siento si esto es algo obvio, simplemente no lo entiendo. Estoy tratando de obtener datos del servidor GraphQL. Estoy siguiendo los documentos del cliente Apollo y todo está bien. El problema es que sigo obteniendo los datos en forma de promesa, en lugar de un objeto real.
const GET_DATA = gql` { category { name products { name inStock } } } `; const data = client .query({ query: GET_DATA, }) .then((result) => { return result; }) .then((res) => res.data); ReactDOM.render( <ApolloProvider client={client}> <React.StrictMode> <App data={data} /> </React.StrictMode> </ApolloProvider>, document.getElementById("root") );Intenté encadenar otro método .then() y convertir la respuesta con el método .json(), no funcionó. ¿Quizás porque las respuestas de GraphQL son diferentes?
Usaría el gancho useQuery() pero me piden específicamente que trabaje con componentes de clase
Esa variable constante data será una promesa, pero el resultado que obtenga de GraphQl debe ser el correcto, en el primer bloque. Luego, debe guardar el resultado en un estado, luego devolver ese estado como datos a su componente de aplicación.