Gatsby极速入门—使用GraphQL解析Markdown(2)
1.什么是GraphQL
GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。 GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。
2.为什么需要它?
一图抵万言:
3.怎么做?
1.一图抵万言:
解释:你需要的东西都在这段代码里:
{ site { siteMetadata { title } } }
2.怎么套到组件里?
src>components>Header.js里面,
import { StaticQuery, graphql } from 'gatsby' import React from "react" const TitleAndDescription = ({ data }) => { //这里的数据是下面查出来的 const title = data.site.siteMetadata.title; const description = data.site.siteMetadata.description; return ( <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center' }}> <h2>{title}</h2> <p>{description}</p> </div> ); } //这里是所有数据,传到了TitleAndDescription组件里,react组件数据传递 const Header = () => { return ( <StaticQuery query={graphql` query{ site { siteMetadata { title, description, } } } `} render={data => <TitleAndDescription data={data} />} /> ) } export default Header
这里是所有数据,传到了TitleAndDescription组件里,react组件数据传递,我这么就为了看着舒服一点。
3.嵌套Header
将Header组件扔到 pages下面的index.js里面:
import React from "react" import Header from '../components/header' const Layout = () => { return ( <div> <Header /> </div> ) } export default Layout;
打开首页,看到网站的描述就大功告成了。
相关推荐
sichenglain 2020-10-27
zhyue 2020-09-28
0linker 2020-09-01
sichenglain 2020-05-19
FZEROF 2020-04-26
zehuawong 2020-04-07
zehuawong 2020-02-11
acloudhuang 2020-01-18
IT新技术 2020-01-07
wikowin 2019-12-15
FZEROF 2019-12-09
sichenglain 2019-11-21
FZEROF 2019-11-19
月光恋九霄 2019-11-18
zehuawong 2019-11-08
HelloWood 2018-09-08
zehuawong 2018-09-08
0linker 2019-10-31
greatji 2019-10-01