Gatsby以编程方式更改布局

时间:2018-09-18 10:04:39

标签: gatsby

开始使用Gatsby(v2)时,我想知道什么是处理Behance网站上以下情况的最佳方案:

  • 如果我直接从地址栏中访问某个URL,则会显示具有自己布局的模板(A)
  • 如果我从网站上的链接访问相同的URL,该页面将显示为另一个模板(B)

在运行时是否可以定义Layout?这两种情况会带来完全相同的URL。

谢谢您的建议。

1 个答案:

答案 0 :(得分:0)

我认为这是您可以研究的完美示例: https://github.com/gatsbyjs/gatsby/tree/master/examples/gatsbygram

gatsby-browser.js处设置此功能:

exports.onInitialClientRender = () => {
  window.___GATSBYGRAM_INITIAL_RENDER_COMPLETE = true
}

https://www.gatsbyjs.org/docs/browser-apis/#onInitialClientRender

然后根据您在问题中所描述的内容,在src/templates/post-page.jsisModal中进行设置。