Gatsby: [1.0] Pouvez-vous définir le composant de mise en page lors de la création de pages?

Créé le 7 juin 2017  ·  3Commentaires  ·  Source: gatsbyjs/gatsby

Est-ce prévu ou est-ce déjà possible d'une manière ou d'une autre?

question or discussion

Commentaire le plus utile

C'est possible via l'API de page onCreatePage dans un fichier gatsby-node quelque chose comme:

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

layout correspond à un fichier composant dans src/layouts

Tous les 3 commentaires

C'est possible via l'API de page onCreatePage dans un fichier gatsby-node quelque chose comme:

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

layout correspond à un fichier composant dans src/layouts

Oui, cela est censé fonctionner ... bien que lors de la mise à niveau de RRv4, j'ai abandonné la prise en charge de plusieurs mises en page en raison de la complexité de la période de travail. Je termine un refactor de cette partie du code ce matin qui simplifie énormément les choses et devrait le rendre beaucoup plus facile à supporter:

  1. mises en page multiples
  2. ajout de requêtes aux modèles
  3. dispositions hiérarchiques

Incroyable, merci!

Cette page vous a été utile?
0 / 5 - 0 notes