gpt4 book ai didi

reactjs - 在 gatsby jsx 中添加 `if` 条件

转载 作者:行者123 更新时间:2023-12-04 09:45:24 25 4
gpt4 key购买 nike

在某些情况下,我想在 gatsby 模板文件中添加元素。

我正在使用 gatsby 开发文档站点,该文档由 Markdown 文件制作。
这是 md 文件和 gatsby 模板。如果文档有 如何添加元素固定=真健康)状况??

Markdown

---
title: "doc title"
date: "2020-06-01"
tags: ["some","tags"]
pinned: TRUE
---

document body.

模板文件
import React from "react"
import { graphql } from "gatsby"

export default class DocsList extends React.Component {
render() {
const posts = this.props.data.allMarkdownRemark.edges
return (
<div>
{posts.map(({ node }) => {
const title = node.frontmatter.title || node.fields.slug
const tags = node.frontmatter.tags || node.fields.slug
const ispinned = node.frontmatter.pinned || node.fields.slug
return(
<p>{title}</p>
<p>{(tags || []).map(tags => (<span className="tags" key={tags}><FaHashtag />{tags}</span>))}</p>

// if the document has `pinned=true` attribute, show <span> tag below
<p>{if {ispinned===true ? `<span>This is PINNED item</span>` }}</p>
)
})}
</div>
)
}
}

export const query = graphql`
query docssListQuery($skip: Int!, $limit: Int!) {
allMarkdownRemark(
filter: {
fields: { collection: { eq: "manuals" } }
frontmatter: { published: { ne: false } }
}
sort: { fields: [frontmatter___date], order: DESC }
limit: $limit
skip: $skip
) {
edges {
node {
id
fields {
slug
}
frontmatter {
title
date
tags
pinned
}
excerpt
timeToRead
}
}
}
}
`;

最佳答案

 <p>{isPinned && <span>This is PINNED item</span>}</p>

isPinned计算结果为 true ,以及自 <span />是真的,那么整个表达式的值就是这个 span ,因此您想要的结果。

关于reactjs - 在 gatsby jsx 中添加 `if` 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62146267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com