Gatsby 노트 4 (상세 페이지)

4360 단어 GraphQLgatsby

참고



학습 내용


  • slag에 묶는 data를 얻는다
  • 블로그 세부 정보 페이지의 콘텐츠보기 (html보기)

  • query 실행


  • QUERY VARIABLES에서 변수를 입력하고 시도하십시오



  • src/templates/blogDetail.js
    
    import React from 'react'
    import {graphql} from 'gatsby'
    import Layout from '../components/layout'
    import { Container } from 'react-bootstrap'
    
    //slagに紐づくデータを取得する
    export const query = graphql`
        query( $slug: String! ) {
            markdownRemark (
                fields: {
                    slug: {
                        eq: $slug
                    }
                }
            ) {
                frontmatter {
                    title
                    date
                }
                html
            }
        }
    `
    
    function BlogDetail(props) {
        return (
            <Layout>
                <Container style={{maxWidth:640}} className="pt-4">
                    <h1>{props.data.markdownRemark.frontmatter.title}</h1>
                    <p>{props.data.markdownRemark.frontmatter.date}</p>
                    <div dangerouslySetInnerHTML={{ __html: props.data.markdownRemark.html}}></div>
                </Container>
            </Layout>
        )
    }
    
    export default BlogDetail
    

    좋은 웹페이지 즐겨찾기