Гэтсби меняет макет программно - PullRequest
0 голосов
/ 18 сентября 2018

Начиная использовать Gatsby (v2), мне стало интересно, что может быть лучшим способом обработки сценария, который можно увидеть на веб-сайте Behance, а именно:

  • Если я получу доступ к определенному URL-адресупрямо из адресной строки будет отображаться шаблон (A) с собственным макетом
  • Если я получу доступ к тому же URL-адресу по ссылке на веб-сайте, страница отобразится с другим шаблоном (B)

Есть ли способ определить Layout во время выполнения?Сценарий 2 приводит к тому же URL.

Спасибо за любые советы.

1 Ответ

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

Я думаю, что это идеальный пример, который вы можете посмотреть: 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.js isModal в зависимости от того, что именно вы описали в своем вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...