Gatsby: [1.0] Você pode definir o componente de layout ao criar páginas?

Criado em 7 jun. 2017  ·  3Comentários  ·  Fonte: gatsbyjs/gatsby

Isso é planejado ou de alguma forma já é possível?

question or discussion

Comentários muito úteis

É possível por meio da API onCreatePage page em um arquivo gatsby-node algo como:

exports.onCreatePage = ({ page }) => {
  if (page.path.startsWith('/getting-started')) {
    page.layout = 'getting-started';
  } else if (page.path.startsWith('/components')) {
    page.layout = 'components';
  }
};

onde layout corresponde a um arquivo componente em src/layouts

Todos 3 comentários

É possível por meio da API onCreatePage page em um arquivo gatsby-node algo como:

exports.onCreatePage = ({ page }) => {
  if (page.path.startsWith('/getting-started')) {
    page.layout = 'getting-started';
  } else if (page.path.startsWith('/components')) {
    page.layout = 'components';
  }
};

onde layout corresponde a um arquivo componente em src/layouts

Sim, pretendia funcionar ... embora ao fazer a atualização do RRv4, eu abandonei o suporte para vários layouts devido à complexidade de fazer as coisas funcionarem. Estou terminando uma refatoração para esta parte do código esta manhã, o que simplifica muito as coisas e deve torná-lo muito mais fácil de suportar:

  1. layouts múltiplos
  2. adicionar consultas a layouts
  3. layouts hierárquicos

Incrível, obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações