【发布时间】:2021-11-14 03:20:17
【问题描述】:
我正在尝试注销原始文件,但到目前为止我无法在控制台中获取任何内容。它只是显示为一个空数组。我的查询一定有问题,因为我在文档上只能找到如何呈现 ContentfulAsset 而不是我可以用 CSS 格式化的实际文本
/* eslint-disable */
import React from 'react';
import { Helmet } from 'react-helmet';
import { graphql } from 'gatsby';
import Layout from '../components/layout';
import { documentToReactComponents } from '@contentful/rich-text-react-renderer';
export const query = graphql`
query MyQuery($slug: String) {
contentfulLongPost(Slug: { eq: $slug }) {
title
updatedAt(formatString: "MMMM Do, YYYY")
body {
raw
references {
... on ContentfulAsset {
contentful_id
__typename
}
}
}
free
contentType
}
}
`;
const caseStudy = (props) => {
console.log(props);
return (
<Layout>
</Layout>
);
};
export default caseStudy;
我在 __typename 后面放什么来获取原始数据?
查询 MyQuery($slug: String) { contentfulLongPost(Slug: {eq: $slug}) { 标题 updatedAt(formatString: "MMMM Do, YYYY") 身体 { 生的 } } }
`;
【问题讨论】:
-
__typename在ContentfulAsset内,但您说在呈现富文本时遇到问题,这是一个raw字段。你能澄清一下吗?另外,能否说明一下如何获取组件中的数据? -
嗨,对不起,我的意思是生的。基本上,你能告诉我如何在屏幕上呈现我的原始身体,即富文本吗?
-
如果您甚至没有获取它(空数组),您将无法显示它,因此您的查询可能存在问题。这就是为什么我要求您提供如何在组件/页面中打印该数据,以便进行更多调试
-
我编辑了这个问题,我只是退出道具看看那里有什么。我认为使用 ContentfulAsset 是错误的,但我不确定还能使用什么?
标签: javascript graphql gatsby contentful