Javascript 盖茨比页面生成没有过滤掉slug
我正试图根据CMS(Sanity)中的数据生成盖茨比页面 我已经在我的CMS中创建了三个页面,在总括术语“第二页”下,我使用gatsby节点中的createPage生成具有正确段塞的页面 所有页面都是根据CMS中的slug生成的,但是在我的模板组件中,我无法过滤掉数据。当我只需要匹配slug的一个页面的结果时,我得到了所有三个页面的结果。secondPage.js中的My console.log显示了与我的CMS中的三个项目对应的三个数组 gatsby-node.jsJavascript 盖茨比页面生成没有过滤掉slug,javascript,reactjs,graphql,gatsby,Javascript,Reactjs,Graphql,Gatsby,我正试图根据CMS(Sanity)中的数据生成盖茨比页面 我已经在我的CMS中创建了三个页面,在总括术语“第二页”下,我使用gatsby节点中的createPage生成具有正确段塞的页面 所有页面都是根据CMS中的slug生成的,但是在我的模板组件中,我无法过滤掉数据。当我只需要匹配slug的一个页面的结果时,我得到了所有三个页面的结果。secondPage.js中的My console.log显示了与我的CMS中的三个项目对应的三个数组 gatsby-node.js // Create pag
// Create pages for docs
exports.createPages = ({ actions, graphql }) => {
const path = require(`path`);
const { createPage } = actions;
//const docTemplate = path.resolve("src/templates/docTemplate.js");
const secondPageTemplate = path.resolve("src/templates/secondPage.js");
return graphql(`
{
allSanitySecondPage {
edges {
node {
slug
}
}
}
}
`).then((result) => {
if (result.errors) {
Promise.reject(result.errors);
}
result.data.allSanitySecondPage.edges.forEach(({ node }) => {
createPage({
path: node.slug,
component: secondPageTemplate,
context: {
slug: node.slug,
},
});
});
});
};
secondPage.js(模板)
从“React”导入React;
从“盖茨比”输入{graphql};
从“./组件/布局”导入布局;
const BlockContent=require(“@sanity/block content to react”);
const secondPage=({data})=>{
//const pageData=data.sanitySecondPage.edges.node;
返回(
第二页大家好!
{console.log(data.sanitySecondPage)}
{/* */}
);
};
export const query=graphql`
查询($slug:String!){
sanitySecondPage(slug:{eq:$slug}){
_原始块内容
}
}
`;
导出默认第二页;
事实证明,我所需要的只是写一篇堆栈溢出帖子来解决我自己的问题。一切都是正确的,我不理解块内容的返回,它应该是三个数组元素
import React from "react";
import { graphql } from "gatsby";
import Layout from "../components/layout";
const BlockContent = require("@sanity/block-content-to-react");
const secondPage = ({ data }) => {
// const pageData = data.sanitySecondPage.edges.node;
return (
<Layout>
<h1>Hello from the second page!</h1>
{console.log(data.sanitySecondPage)}
{/* <BlockContent blocks={pageData._rawBlockContent} /> */}
</Layout>
);
};
export const query = graphql`
query($slug: String!) {
sanitySecondPage(slug: { eq: $slug }) {
_rawBlockContent
}
}
`;
export default secondPage;