我正在从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
}
}
}
##
----------
答案 0 :(得分:0)
如果您使用的是gatsby v2
,则应遵循v2教程:
https://next.gatsbyjs.org/tutorial/part-four/
children()
在Gatsby v2中不再是有效的语法。