我正在 Gatsby 博客中制作一个可重用的组件,放在博客文章的末尾,它采用文章的作者姓名,并呈现“关于作者”部分,从存储在网站其他地方的作者简历中提取信息。
我已经制作了在 authorName 被硬编码为字符串时工作的组件,但我坚持如何从文章组件(作为 props.author 传递)获取作者姓名到 GraphQl 查询中。
我可以确认: 1. 正确传递了道具作者并且控制台日志完全正确 2. 根据硬编码字符串作者姓名从团队 bios 中提取正确的个人信息和个人资料图片
缺少的链接是将硬编码的作者姓名字符串替换为 props.author
在此先感谢您的帮助; 我已经查看了类似的问题,但找不到答案。
这是我的组件:
关于Author.js
import React from "react";
import { StaticQuery, graphql } from "gatsby";
import Img from "gatsby-image";
export default (props) => (
<div>
<StaticQuery
query={graphql`
query {
copy: markdownRemark(
frontmatter: { name: { eq: "need to replace this string with props.author" } }
) {
html
frontmatter {
name
profileImage {
childImageSharp {
fluid(maxWidth: 800) {
...GatsbyImageSharpFluid
}
}
}
}
}
}
`}
render={data => (
<React.Fragment>
<p>Testing Name: {props.author}</p> // testing the author name is passed ok, will be removed
<Img
fluid={data.copy.frontmatter.profileImage.childImageSharp.fluid}
alt=""
/>
<div>
<span>
{data.copy.frontmatter.name}
</span>
<div
dangerouslySetInnerHTML={{ __html: data.copy.html }}
/>
</div>
</React.Fragment>
)}
/>
</div>
);
慕田峪7331174
茅侃侃
缥缈止盈
相关分类