有常用 Next.js 的 V 友吗?最近在做个人网站的多语言功能时候被一个问题卡了几天,特来求教

87 天前
 AA3

主要问题就是想问下有什么办法能在同一个页面内同时使用 getStaticPropsgetServerSideProps

我的个人网站最近在做多语言支持的功能,里面有一个博客列表页面 /blog,需要通过 getStaticProps 从 MDX 里面获取所有帖子并生成静态文件;与此同时,也需要通过 getServerSideProps 从 next-18Next 里面提前获取命名空间资源(以防止水合错误)。

但是 Next 不允许同时使用 getStaticPropsgetServerSideProps,有什么替代方案吗?如果有相关思路也可以提供下,GPT 提供的方法似乎不太可行,可能是我的情况有点特殊..🤦

这是一个经过简化的仓库地址: https://github.com/Pudge1996/NEXT.LRD.IM/blob/845f80ef9f697b9257932db1ffb156e79da6dde8/pages/blog.js

线上访问(为了发布到线上,注释掉了服务端获取数据的代码,所以在访问 /blog 的时候,会出现 translation key 闪烁问题): https://next-lrd-im-git-i18next-min-blog-sample-pudge1996.vercel.app/blog

提前谢谢大佬们。。。

829 次点击
所在节点    前端开发
8 条回复
yangg
87 天前
getServerSideProps 里面可以做 getStaticProps 的事情啊,这只是两个方法而已,

你把原来写在两个方法里的东西,合并成一个方法,返回 props 就行了
fd9xr
87 天前
什么年代了还在用 getStaticProps
fd9xr
87 天前
? Repo 里没有 package.json?
AA3
87 天前
AA3
87 天前
@yangg 合并之后原本需要 getStaticProps 生成的东西还能维持运作吗?就像博客的文章,需要通过 getStaticProps 生成静态文件对 SEO 友好一些的
AA3
87 天前
@fd9xr 蛤。。这是很老土的方法吗,之前我用 MDX 做博客的时候,这个还是推荐方法来着。。
fd9xr
87 天前
blackcellcode
86 天前
直接升级 next 14^

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1016591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX