Почему GraphQL не работает с макетами GatsbyJS? - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу запросить некоторые данные в моем макете, но {console.log (data)} возвращает undefined . Это означает, что мой запрос не работает.

Мои макеты / index.js Файл:

import React from "react";
import Header from '../components/Header'
import Footer from '../components/Footer'
import Slider from "../components/Slider";
import {graphql} from "gatsby";

class DefaultLayout extends React.Component {
    render() {

        const {data} = this.props

        return (
            <div className='container-fluid'>
                <Header/>

                {console.log(data)}
                {console.log(data)}
                {console.log(data)}

                <div className="row rtl">
                    <div className="col routeContainer">
                        {this.props.children}
                    </div>
                    <div className="col slider"><Slider/></div>
                </div>
                <Footer/>
            </div>
        )}}
export default DefaultLayout
export const pageQuery = graphql`
      query {
         site {
          siteMetadata {
            title
            subtitle
          }
        }
      }
    `

почему так?!

Использование реакции 16.3.2 и Гэтсби далее.

1 Ответ

0 голосов
/ 04 сентября 2018

Вам нужно использовать StaticQuery. Ваш файл макета теперь является обычным компонентом React.

https://next.gatsbyjs.org/docs/migrating-from-v1-to-v2/#remove-or-refactor-layout-components

...