盖茨比图片未呈现

时间:2020-07-31 15:10:35

标签: gatsby gatsby-image

我正在尝试使用下一页上的Gatsby Img组件加载图片:

import React from "react"
import { graphql, useStaticQuery } from "gatsby"
import Img from "gatsby-image"
import Layout from "../components/layout"
import SEO from "../components/seo"
import FeatureCard from "../components/featureCard"
import { getImage } from "../utils/getImage"

function IndexPage() {
  const data = useStaticQuery(graphql`
      query {
          file(relativePath: { eq: "index/profile.JPG" }) {
              childImageSharp {
                  fluid {
                      ...GatsbyImageSharpFluid
                  }
              }
          }
      }
  `)

  console.log(data.file.childImageSharp.fluid);


  const featureCardContainer =
    "flex justify-center w-full my-2 md:px-2 lg:my-4 lg:px-4 lg:w-full xl:w-1/2"

  return (
    <Layout>

      <div className="w-full h-auto flex flex-col justify-center items-center">

        <h1 className="text-2xl">Testing</h1>
        <Img fluid={data.file.childImageSharp.fluid} alt={'Profile Picture'} />

      </div>
    </Layout>
  )
}

export default IndexPage

Img组件没有渲染,我不知道为什么。我已经记录了graphql查询,它确实在获取正确的GatsbyImageSharpFluid对象。

日志

Console log

我错过了一些明显的东西吗?

我在网站的其他部分上都有Gatsby映像,因此配置没有问题。

1 个答案:

答案 0 :(得分:1)

您的父组件是一个flexbox。可能必须为图像组件指定高度和宽度:将style={{height: "100px", width: "100px"}}添加到Img才能看到它。

如果这不起作用,请向我们显示开发人员工具中的HTML。