我正在使用 and 构建一个简单的 Web 应用程序React
,GatsbyJS
并使用它NetlifyCMS
来管理内容。使用gatsby-transformer-remark
我加载包含我想加载的图像路径的数据gatsby-transformer-sharp
。
因此,我创建了一个 Image 组件来接收其道具的路径:
<Image path={post.frontmatter.thumbnail} />
我希望这个组件获取路径,gatsby-transformer-sharp
使用 GraphQL 请求一个节点,然后在gatsby-img
组件中使用返回的数据。
我对 React 和 GatsbyJS 都很陌生,所以显然我的解决方案不起作用。
import React from 'react';
import Img from 'gatsby-image';
export default class Image extends React.Component {
render() {
return(
<Img
sizes={this.props.file.childImageSharp.sizes}
/>
);
}
}
export const getSizesQuery = graphql`
query GatsbyImageSampleQuery($path: this.props.path) {
file(relativePath: { eq: $path }) {
childImageSharp {
sizes {
base64
tracedSVG
aspectRatio
src
srcSet
srcWebp
srcSetWebp
sizes
originalImg
originalName
}
}
}
}
`;
这样做的正确方法是什么?