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

170
Views
Coincidencia de imágenes de consulta con variable JSON en Gatsby

Entonces, tengo un archivo JSON que tiene información que estoy ingresando en mi proyecto React. Uno de esos campos es una palabra clave de imagen. Quiero usar eso para llamar imágenes en una carpeta "mostrar" donde se pueden descargar imágenes promocionales.

esteAño.json

 { "title": "Rope", "author": "Patrick Hamilton", "image": "rope", },{ "title": "I Hate Hamlet", "author": "Paul Rudnick", "image": "iHateHamlet", } ]

Hice una consulta que toma las imágenes de dicha carpeta "mostrar" en el archivo jsx

 { allFile(filter: {relativeDirectory: {eq: "shows"}}) { edges { node { id name childImageSharp { gatsbyImageData(placeholder: DOMINANT_COLOR) } } } } }

He intentado escribir algunas funciones que comparan las propiedades del nombre, pero parece que no puedo escribir nada que funcione. No estoy captando algo aquí y simplemente no sé qué es.

El showImage se pasa mientras mapeo a través de mi archivo JSON y lo comparo con imageData, que son los datos de consulta. El registro de la consola muestra los nombres correctos que se están comparando, así que sé que está pasando. simplemente no está pasando esos datos a GatsbyImage.

 function findImage(showImage) { imageData.map((image) => { console.log(image.node.name + ' vs ' + showImage) if (image.node.name == showImage) { /**if the image name == our show image name, we return that image data */ return data.file.childImageSharp.gatsbyImageData } }) return }

Mi repositorio de git está aquí si ayuda: https://github.com/TheComeBackGuy/TKD-Gatsby

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Bueno, me di cuenta de lo que estaba haciendo mal. No estaba devolviendo la respuesta a la raíz de la función. Estoy seguro de que una persona con más experiencia podría escribirlo más limpio, pero esto es lo que usé.

 export default function FindImage(queryArray, showImage) { let returnStatement = null queryArray.map((images) => { if (images.node.name == showImage) { console.log(showImage + ' vs ' + images.node.name) console.log(images.node.childImageSharp.gatsbyImageData) returnStatement = images.node.childImageSharp.gatsbyImageData } }) return returnStatement }
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!