【发布时间】:2020-12-09 05:24:48
【问题描述】:
我正在使用带有 GraphQL 的无头 WordPress 构建 NextJS 应用程序。从文档中不清楚我应该在哪里调用查询来创建站点导航。 https://github.com/lfades/next.js/tree/examples/cms-wordpress/examples/cms-wordpress
导航由后端的 WordPress 菜单 (Appearance > Menus) 动态控制,我可以通过 GraphQL 成功访问这些 menuItems,在 Next JS 中的 index.js 和 posts/[slug].js 页面模板上没有任何问题。
// index.js
export default function Index({ primaryMenu = [] }) {
return (
<Layout>
<Header>
{primaryMenu.map((item, index) => {
return (<a href={item.url}>{item.label}</a>)
)}
</Header>
</Layout>
);
}
export async function getStaticProps() {
const primaryMenu = await getPrimaryMenu(); // Get menu via GraphQL
return {
props: { primaryMenu },
};
}
我遇到的问题是我在每个模板上重复 getStaticProps 函数,我应该能够为此使用某种全局查询,无论是在 <header/> 组件本身还是其他方法中。我找不到有关如何执行此操作的文档,并且它在组件中不起作用。
感谢任何有关全局查询(例如动态导航查询)在 NextJS 应用中的位置的指导(或示例)。
【问题讨论】: