Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

220
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda