使用 nextjs 'catch all' 路由获取数据
Posted
技术标签:
【中文标题】使用 nextjs \'catch all\' 路由获取数据【英文标题】:Data fetching with nextjs 'catch all' routes使用 nextjs 'catch all' 路由获取数据 【发布时间】:2021-02-18 03:24:04 【问题描述】:使用 nextjs 10,您可以拥有一条包罗万象的路线,类似于 [...id].tsx
。这个想法是这将允许动态页面。所以它应该匹配/example
、/example/new
、/example/new/latest
等。
我面临的问题是特定匹配的路线(例如/example/new
)可能需要额外的数据才能正确呈现。看到我的pages
文件夹中只有一个文件,我只能访问一个getStaticProps
电话。为所有可能的路线获取所有可能的数据似乎很浪费。
在组件级别获取服务器端数据将解决他的问题,但这似乎不是 nextjs 中支持的功能
有没有推荐的解决方法?基于getStaticProps
中的上下文的条件数据获取? ????
【问题讨论】:
【参考方案1】:您应该在哪里获取数据取决于数据的性质。此外,当用户需要数据时。您可以使用getStaticProps
、getServerSideProps
或在客户端获取数据。请参阅documentation 了解这些方法之间的差异。
【讨论】:
以上是关于使用 nextjs 'catch all' 路由获取数据的主要内容,如果未能解决你的问题,请参考以下文章
Nextjs 中使用 getServerSideProps 进行动态路由
Amazon CloudFront 中的 NextJS 动态路由