我正在使用 Next.js 和 MDX 编写博客。为此,我下载了我正在尝试调整的这个 repo 。但我找不到如何对帖子进行排序。目前它们按字母顺序排列,但我想按日期(或自定义排序)对它们进行排序。我怎样才能做到这一点?
这是代码:
{posts.map((post) => (
<section key={post.filePath}>
<Link
as={`/posts/${post.filePath.replace(/\.mdx?$/, "")}`}
href={`/posts/[slug]`}
>
<a>{post.data.title}</a>
</Link>
</section>
))}
export function getStaticProps() {
const posts = postFilePaths.map((filePath) => {
const source = fs.readFileSync(path.join(POSTS_PATH, filePath));
const { content, data } = matter(source);
return {
content,
data,
filePath,
};
});
return { props: { posts } };
}
编辑:
我试图对元素图进行排序。它起作用了,但是每次我重新加载页面时,它都会按字母顺序排列。这可以从哪里来?
这是我的新代码:
const SortedPosts = posts.sort((a, b) =>
a.position > b.position ? 1 : -1
);
{SortedPosts.map((post) => (
<section key={post.filePath} position={post.data.position}>
<Link
as={`/posts/${post.filePath.replace(/\.mdx?$/, "")}`}
href={`/posts/[slug]`}
>
<a>{post.data.title}</a>
</Link>
</section>
))}