【发布时间】:2021-03-20 04:57:53
【问题描述】:
我是一名新手 Web 开发人员,使用 Gatsby、React、GraphQL 和 Javascript。我正在一个简单的博客网站上工作,其中我有一些降价帖子,其前端动态填充页面上的博客帖子列表。到目前为止,我已经成功地完成了这项工作,但我想知道如何处理从 graphQL 查询中获得的数据。我想以如下所示的风格化方式显示帖子的日期和月份:
我正在使用以下代码来查看降价帖子的日期:
const data = useStaticQuery(graphql`
query{
allMarkdownRemark{
edges{
node{
frontmatter{
title
date
featuredImage{
childImageSharp{
fluid{
...GatsbyImageSharpFluid
}
}
}
}
fields{
slug
}
}
}
}
}
`)
return(
<div id="blog">
<div class="blog-pad"></div>
<div class="blog-posts">
{data.allMarkdownRemark.edges.map((edge) =>(
<div class="blog-post">
<Img fluid={edge.node.frontmatter.featuredImage.childImageSharp.fluid} />
<div class="meta">
<h3>
{edge.node.frontmatter.date}
</h3>
<div class="title-date">
<h3>
<a href={"/blog/" + edge.node.fields.slug}>{edge.node.frontmatter.title}</a>
</h3>
<p>{edge.node.frontmatter.date}</p>
<p>Author</p>
</div>
</div>
</div>
))}
</div>
<div class="blog-pad"></div>
</div>
)
添加一些样式后,结果如下:
如何从{edge.node.frontmatter.date} 中提取日期和月份?我想编写一个 javascript 函数来对其进行一些字符串格式化,但是我不太确定如何编写该函数,也不知道它如何适应 jsx 和 graphQL 的上下文。这个名为const data 的查询是否会作为参数传递给函数,然后该函数将返回一个字符串?返回<p>3 Dec</p>
【问题讨论】:
-
使用普通的js代码,在jsx之前
标签: javascript reactjs graphql gatsby