Я пытаюсь понять, как StaticQuery работает в рабочем процессе Gatsby / GraphQL, и в качестве пробной версии я хочу создать заголовок статьи с фоновым изображением.
Изображение определено в frontmatter файла уценкиЯ строю из (frontmatter.feature
).
Я знаю, что природа StaticQuery ... ну ... статическая, поэтому я не могу передать динамические переменные в запрос.Но это не то, что я делаю - я думаю.
Вот мой пример:
articleHeader(frontmatter) {
if (frontmatter.feature) {
return (
<StaticQuery
query={graphql`
query($base: String!) {
file(base: { eq: $base }) {
publicURL
}
}
`}
render={data => (
<ArticleHeader
style={"background-image:url(" + data.file.publicURL + ")"}
>
<Heading>{frontmatter.title}</Heading>
</ArticleHeader>
)}
/>
);
} else return <Heading>{frontmatter.title}</Heading>;
}
Моя проблема в том, что я хочу передать frontmatter.feature
своему запросу, чтобы я мог запросить base: { eq: $base }
... но как?
Примечание. Я правильно настроил плагины и могу без проблем запрашивать файлы через интерфейс graphiql.