Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
¿Es posible usar la consulta Graphql con el componente React Class?

Necesito transformar este componente en un componente de clase, ¿cómo puedo reemplazar el gancho useQuery ?

 import {useQuery, gql} from "@apollo/client"; const getBooks = gql` { books { name } } `; function BookList() { const {data} = useQuery(getBooks); console.log(data); return ( <div> <ul id="book-list"> {data.books.map(book => ( <li key={book.id}>{book.name}</li> ))} </ul> </div> ); } export default BookList;
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Solución-1

Puede usar un componente de orden superior como mencionó Mark y puede lograrlo haciendo un componente como:

 const withHook = (Component) => { return WrappedComponent = (props) => { const someHookValue = useSomeHook(); return <Component {...props} someHookValue={someHookValue} />; } }

entonces puedes usarlo como:

 class Foo extends React.Component { render(){ const { someHookValue } = this.props; return <div>{someHookValue}</div>; } } export default withHook(Foo);

Fuente de los fragmentos anteriores.

Solución-2

Si no está interesado en usar apollo clint, puede obtener datos de su servidor normalmente como obtiene cualquier API, usando AXIOS o normal fetch o puede usar la biblioteca graphql-request para hacerlo:

 import { request, gql } from 'graphql-request'; const getBooks = gql` { books { name } } `; function BookList() { request('https://<server-link>', getBooks).then((data) => ( <div> <ul id="book-list"> {data.books.map(book => ( <li key={book.id}>{book.name}</li> ))} </ul> </div> )); } export default BookList;
about 4 years ago · Juan Pablo Isaza Report

0

https://softchris.github.io/pages/graphql-apollo-client.html#query

Aquí puedes encontrar la respuesta. Aquí hay una forma de hacer una consulta sin useQuery.

Lo probé en mi proyecto, y funciona.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!