Gatsby: Layouts e modelos - como devem funcionar e como funcionam agora?

Criado em 11 jul. 2017  ·  3Comentários  ·  Fonte: gatsbyjs/gatsby

Esses dois conceitos parecem redundantes. E eu vi alguns problemas sugerindo que eles não foram totalmente resolvidos na V1. Alguém pode esclarecer como devem funcionar e como o fazem?

1) Por que existem layouts e componentes de modelo?

1) Como você seleciona layouts alternativos para o conteúdo? (Eu vi um campo de frontmatter no iniciador do blog, mas não consegui rastreá-lo para qualquer efeito real. Em qualquer caso, isso parece o tipo de coisa que você faria em createPages, não uma substituição de frontmatter embutida. não é?)

2) Como funcionam os modelos aninhados? Ou como deveriam funcionar? Ou por que você precisaria deles se você pode selecionar componentes de modelo diferentes para páginas diferentes?

Obrigado!

Comentários muito úteis

você pode tomar o Layout como um modelo de ordem superior que controla outros modelos e passa os componentes globais como Nav, Rodapé ... e usar modelos específicos para diferenciar o conteúdo. Por exemplo, se eu criasse um layout com barra de navegação e rodapé, e dois modelos chamados Páginas e blogs, tanto as páginas quanto os blogs pegariam o rodapé da barra de navegação dos layouts e teriam conteúdo diferente dentro.

Todos 3 comentários

re 1) Os componentes do modelo são para tipos de página, por exemplo, postagens de blog, páginas de documentação, etc. Os componentes de layout são para tudo compartilhado entre páginas, por exemplo, cabeçalhos, rodapés, barras laterais, etc. Ambos são necessários porque são coisas muito diferentes :-) Leia https://www.gatsbyjs.org/docs/building-with-components/ também

re 2) você não pode agora. Isso é algo que apoiaremos no futuro. Esses campos de frontmatter eram antigos e não eram usados. Desculpe por isso. Apenas os removeu. Postagens de markdown são criadas com createPage portanto, uma maneira possível de permitir que uma postagem de markdown substitua o layout padrão seria usar o frontmatter para selecionar um layout.

re 3) também não suportado ainda, mas planejado para o futuro. Um caso de uso é que você tem um layout global com um cabeçalho / rodapé e, em seguida, uma subseção do site que possui uma barra lateral de navegação secundária.

você pode tomar o Layout como um modelo de ordem superior que controla outros modelos e passa os componentes globais como Nav, Rodapé ... e usar modelos específicos para diferenciar o conteúdo. Por exemplo, se eu criasse um layout com barra de navegação e rodapé, e dois modelos chamados Páginas e blogs, tanto as páginas quanto os blogs pegariam o rodapé da barra de navegação dos layouts e teriam conteúdo diferente dentro.

Obrigado, isso esclarece as coisas. 😀

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

Questões relacionadas

ferMartz picture ferMartz  ·  3Comentários

timbrandin picture timbrandin  ·  3Comentários

theduke picture theduke  ·  3Comentários

Oppenheimer1 picture Oppenheimer1  ·  3Comentários

magicly picture magicly  ·  3Comentários