xtyboi
xtyboi

Reputation: 19

GATSBY: TypeError: Cannot read property 'includes' of undefined

I'm having some trouble filtering out images in my portfolio site laid out in this post…

This is the error I keep getting: "TypeError: Cannot read property 'includes' of undefined"

Anyone know why this might be?

Images query:

query {
  images: allFile (
    filter: { ext: { eq: ".jpg" } },
    sort: { order: ASC, fields: [relativePath] }
  )
  {
        edges {
        node {
        fields {
            imgslug
        }
        relativeDirectory
        id
        childImageSharp {
          fixed(width: 100) {
            src
          }
        }
        }
    } 
  }
}

Image display script:

{data.images.edges.filter((node) => node.relativeDirectory.includes(data.images.edges.node.fields.imgslug)).map(image => {
   return (
      <Img key={image.id} fixed={image.childImageSharp.fixed}/>
   )
})}

Upvotes: 1

Views: 1064

Answers (1)

Ferran Buireu
Ferran Buireu

Reputation: 29335

includes loop returns a boolean, true or false depending on the condition. You may want to use something like:

{data.images.edges.map((node) => {
   if(node.relativeDirectory.includes(data.images.edges.node.fields.imgslug){
     return <Img key={image.id} fixed={image.childImageSharp.fixed}/>
   }
})}

Upvotes: 1

Related Questions