Я использую Prismic и Gatsby для сайта и у меня проблемы с шаблоном страницы.Запрос graphql работает, но я не могу получить доступ к элементам в объекте данных.
Так настроен мой шаблон:
const ContactPage = ({ data: prismicContactPage }) => {
const { data } = prismicContactPage;
console.log(prismicContactPage); // logs the object and all its data
console.log(data); // undefined
return (
<Layout>
<SEO key="contact-seo" title="" />
<PageBody>
{data.title.text} // data is undefined
{prismicContactPage.data.title.text} // prismicContactPage.data is undefined
</PageBody>
</Layout>
);
};
export default ContactPage;
export const pageQuery = graphql`
query ContactQuery {
prismicContactPage {
data {
title {
text
}
}
}
}
`;
Я могу зарегистрировать объект запроса, и вся правильная информацияприсутствует, но по какой-то причине я не могу добраться до данных внутри объекта.
Если я изменю компонент на:
const ContactPage = ({ data: {prismicContactPage: data} }) => {
console.log(data); // logs correct info
return (
<Layout>
<SEO key="contact-seo" title="" />
<PageBody>
{data.title.text} // undefined
</PageBody>
</Layout>
);
};
, я могу получить «дальше» в объект, но используяdata.title.text
заканчивается TypeError: data.title is undefined
Удаление кеша и перестроение запросов, похоже, не помогают, и нет проблем с моим запросом graphql, когда я использую проводник graphql.Я надеюсь, что мне не хватает чего-то простого, но я не могу понять, что не так.