我正在从gatsby框架学习reactjs,在那里我试图通过使用site.siteMetadata更改网站的标题,但得到了一个错误,如“数据未定义”,并且html静态页面构建失败。
{data.site.siteMetadata.title} ^错误
import React from "react";
import g from "glamorous";
import {css} from "glamour";
import Link from "gatsby-link"
import {rhythm} from "../utils/typography";
const linkstyle=css({float:'right'});
exports.default=
({children})=>
<g.Div margin={'0 auto'}>
maxwidth={700}
padding={rhythm(1.5)}>
<Link to={'/'}>
<g.H3
marginBottom={rhythm(2)}
display={'inline-Block'}
fontStyle={'normal'}>
{data.site.siteMetadata.title}
</g.H3>
</Link>
<Link classname={linkStyle} to={'/about/'}>
About
</Link>
{children()}
</g.Div>
export const query=graphql
'query LayoutQuery{
site{
siteMetadata{
title
}
}
}
##
----------
发布于 2018-08-09 17:30:20
如果您使用的是gatsby v2,则应该遵循v2的教程:https://next.gatsbyjs.org/tutorial/part-four/
在Gatsby v2中,children()不再是有效语法。
https://stackoverflow.com/questions/51734592
复制相似问题