我正在使用next/路由器动态地呈现一个帖子列表。此列表包含每个帖子的索引、路径和标题如下:
export const items = [
{
id: "0",
path: 'Post_Alpha',
title: "Title example 0",
},
{
id: "1",
path: 'Post_Beta',
title: "Title example 1",
},我可以通过数组中的索引访问后置测试版:
import {items} from '../posts/data'
function Posts() {
const router = useRouter()
const {post} = router.query
const postIndex = items.map(function(e) { return e.path; }).indexOf(post)
const post = items[courseIndex]
return (
<h2>
{post.title}
</h2>
)
}
export default Posts我想知道Next.js是为每个帖子创建一个页面,还是只创建一个动态填充的页面。我有一个链接列表,使用<Link /> from 'next/link'到每个帖子。此外,我如何才能看到Next.js正在生成的页面,比如站点的sitemap.xml?
发布于 2020-11-30 21:28:38
我不认为是这样的。
我认为只有在使用getStaticProps或getServerSideProps时才会发生这种情况。在您的例子中,您的页面没有使用Next.js作为服务的特性,例如良好的SEO。您只是使用客户端获取,它没有利用Next.js的任何好处。您还可以检查useSWR()钩子以获取客户端上的数据。
编辑
我认为,如果您的数据不多且不经常更新,那么您应该学习Next.js文档中的Next.js示例。仅使用,如果您限定上述两项要求,因为数据是静态的,并将在构建时生成。
https://stackoverflow.com/questions/65081362
复制相似问题