主要问题就是想问下有什么办法能在同一个页面内同时使用 getStaticProps
和 getServerSideProps
?
我的个人网站最近在做多语言支持的功能,里面有一个博客列表页面 /blog
,需要通过 getStaticProps
从 MDX 里面获取所有帖子并生成静态文件;与此同时,也需要通过 getServerSideProps
从 next-18Next 里面提前获取命名空间资源(以防止水合错误)。
但是 Next 不允许同时使用 getStaticProps
和 getServerSideProps
,有什么替代方案吗?如果有相关思路也可以提供下,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
提前谢谢大佬们。。。
1
yangg 304 天前
getServerSideProps 里面可以做 getStaticProps 的事情啊,这只是两个方法而已,
你把原来写在两个方法里的东西,合并成一个方法,返回 props 就行了 |
2
fd9xr 304 天前 via iPhone
什么年代了还在用 getStaticProps
|
3
fd9xr 304 天前 via iPhone
? Repo 里没有 package.json?
|
4
AA3 OP |
5
AA3 OP @yangg 合并之后原本需要 getStaticProps 生成的东西还能维持运作吗?就像博客的文章,需要通过 getStaticProps 生成静态文件对 SEO 友好一些的
|
8
blackcellcode 303 天前
直接升级 next 14^
|