Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

100
Vistas
Nombre de la función dinámica en Graphql

tengo la siguiente consulta

 const COURSES = gql` query( $course: Course! ) { **english**(course: $course) { transfers( options: { desc: ["count_in", "count_out"] } ) { school { address symbol tokenType } } } } `

Tenga en cuenta que la quinta línea comienza con 'inglés', así que digamos que tengo 1000 cursos diferentes como ['inglés', 'política', 'artes', .... 1000º curso). ¿Cómo puedo hacer que el nombre de este curso sea dinámico? No desarrollé el backend, por lo que cambiar el esquema no es una opción para mí. ¿Cómo puedo evitar la duplicación haciendo que el nombre del curso sea dinámico?

Para que quede claro, quiero colocar el nombre de la variable en el lugar de 'inglés' en la línea 5 para que esta línea se comporte como a continuación

 english(course: $course) { politics(course: $course) { art(course: $course) { anyCourseName(course: $course) {

Actualización: estoy llamando a la consulta anterior usando useQuery y pasando el parámetro $ curso como se muestra a continuación

 useQuery( COURSES, { variables: { course, //this serves as variable $course in above query }, } )
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

const COURSES = (c) => gql` query( $course: Course! ) { ${c}(course: $course) { transfers( options: { desc: ["count_in", "count_out"] } ) { school { address symbol tokenType } } } }
 const query = COURSES('art')

?

about 4 years ago · Juan Pablo Isaza Denunciar

0

Simplemente puedes hacerlo así:

 const course = "english"; const COURSES = gql` query( $course: Course! ) { ${course}(course: $course) { transfers( options: { desc: ["count_in", "count_out"] } ) { school { address symbol tokenType } } } } `

O si tienes varias consultas:

 const courses = [ "english", "politics", "art", "anyCourseName", ]; const queries = courses.reduce((acc, query) => ( acc.concat(`${query}(course: $course) { transfers( options: { desc: ["count_in", "count_out"] } ) { school { address symbol tokenType } } }\n`) ), ""); console.log(queries);

luego úsalo en tu gql:

 const COURSES = gql` query( $course: Course! ) { ${queries} } `;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda