【发布时间】:2018-07-08 07:44:29
【问题描述】:
我正在使用React 和GatsbyJS 构建一个简单的Web 应用程序,并使用NetlifyCMS 来管理内容。使用gatsby-transformer-remark 我加载包含我想使用gatsby-transformer-sharp 加载的图像路径的数据。
所以,我创建了一个 Image 组件来接收其道具的路径:
<Image path={post.frontmatter.thumbnail} />
我想让这个组件获取路径,用 GraphQL 请求一个gatsby-transformer-sharp 节点,然后在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
}
}
}
}
`;
这样做的正确方法是什么?
【问题讨论】:
-
你可以选择最适合 gats-by 框架的
contentfulcms,如果你想要内容丰富我有解决方案?
标签: javascript reactjs graphql gatsby netlify-cms