Как я могу изменить порядок страниц в Гэтсби? - PullRequest
2 голосов
/ 15 февраля 2020

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

В настоящее время старые сообщения находятся вверху страницы.

Вот мой Гэтсби- node.js. Как я могу отменить заказ?

const path = require('path');

// registering our posts

exports.createPages = ({ boundActionCreators, graphql }) => {
  const { createPage } = boundActionCreators;

  const postTemplate = path.resolve('src/templates/blog-post.js');

  return graphql(`
    {
      allMarkdownRemark {
        edges {
          node {
            html
            id
            frontmatter {
              path
              title
              date
              author
            }
          }
        }
      }
    }
  `).then(res => {
    if (res.errors) {
      return Promise.reject(res.errors);
    }
    res.data.allMarkdownRemark.edges.forEach(({ node }) => {
      createPage({
        path: node.frontmatter.path,
        component: postTemplate,
      });
    });
  });
};

1 Ответ

1 голос
/ 15 февраля 2020

Ваш результат GraphQL передается вашей функции createPage (), где страницы создаются в порядке, заданном набором результатов. Вы можете заказать набор результатов GraphQL внутри запроса:

    {
      allMarkdownRemark( sort: { fields: [frontmatter___date]
                                 order: DESC } // order by date descending 
      ) {
        edges {
          node {
            html
            id
            frontmatter {
              path
              title
              date
              author
            }
          }
        }
      }
    }
  `

Дополнительные сведения см. В документации Gatsby GraphQL .

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