我正在尝试使用 GraphQL 添加 gatsby-image。我不需要重写我的整个启动器我只想要加载时间的图像优化。所有的数据查询都是用 lodash 完成的,所以我很困惑。我知道我在文档之后遗漏了一些简单的东西。
我正在测试一个标题只是为了看看我是否正在访问数据。
我需要将此查询添加到 gatsby-node 吗?
import React from 'react';
import _ from 'lodash';
import { useStaticQuery, graphql } from "gatsby"
import { Layout } from '../components/index';
import { htmlToReact, safePrefix } from '../utils';
export default class Post extends React.Component {
render() {
const data = useStaticQuery(graphql`
query postInfo {
allMarkdownRemark {
edges {
node {
id
frontmatter {
content_img_path
excerpt
img_path
subtitle
title
}
}
}
}
}
`)
return (
<Layout {...this.props}>
<article className="post post-full">
<header className="post-header">
<div className="post-meta">
</div>
<h1 className="post-title">{_.get(this.props, 'pageContext.frontmatter.title')}</h1>
</header>
{_.get(this.props, 'pageContext.frontmatter.subtitle') &&
<div className="post-subtitle">
{htmlToReact(_.get(this.props, 'pageContext.frontmatter.subtitle'))}
</div>
}
<h3>{data.allMarkdownRemark.title}</h3>
{_.get(this.props, 'pageContext.frontmatter.content_img_path') &&
<div className="post-thumbnail">
<img className="thumbnail" src={safePrefix(_.get(this.props, 'pageContext.frontmatter.content_img_path'))} alt={_.get(this.props, 'pageContext.frontmatter.title')} />
</div>
}
<div className="post-content">
{htmlToReact(_.get(this.props, 'pageContext.html'))}
</div>
</article>
</Layout>
);
}
}