【发布时间】:2021-09-01 14:19:12
【问题描述】:
我正在修改 NextJS 的 getServerSideProps。我看到当我从头开始请求页面时,我会收到完全水合的内容。然后,当我导航到新页面时,会进行 API 调用,它会接收一些用于重新填充页面的 JSON 数据。
我不喜欢的是新的 API 调用实际上是在进行两次调用。例如我的getServerSideProps 有一个axios.get() 电话。所以在点击新页面时,我得到:
- 打电话给
example.com/_next/data/1231234/.... - 该调用必须在后台运行我的
getServerSideProps()及其axios.get()以检索新的 JSON 数据。
那么有没有办法避免双重 API 调用?我希望在第一个页面加载后,点击新页面就跳到第二步。
在非 NextJS 应用程序上,我会在页面加载时运行类似 useEffect() 的内容,但显然页面的第一次运行不会返回完整内容,出于搜索引擎的目的,我会喜欢返回完整的内容。我看过一些讲座,其中 Google 说他们确实运行 javascript 并查看完整内容,但对于所有其他引擎来说也可能是安全的。
【问题讨论】: