next.js 为什么用的< Link>比路由器好.推?

8ehkhllq  于 2023-01-02  发布在  其他
关注(0)|答案(1)|浏览(172)

我在NextJS中有一个电子商务应用程序,我的主菜单有问题。事实上,如果我使用Next标签,不管有没有"prefetch"参数,我仍然有预取的链接(无论是悬停或如果项目是在视口中)。我的页面加载了getStaticProps。我想使用来保持所有的好处下一个和SPA,但是我认为在我需要之前预取我所有的产品页面会破坏背面的性能。
你认为我可以使用router. push到我的应用程序的这一部分吗?
谢谢。

cwtwac6a

cwtwac6a1#

如果使用router.push而不是Link Component,您的应用将失去以下功能

  • SPA(因为它将重定向到新页面)和
  • SEO(因为它不能被爬虫检测到)

对于一个理想的电子商务平台,我认为最好是利用链接组件,而不是过多地考虑您的预取问题,因为这些由nextJs内置的组件已经由Vercel团队优化。
我们也应该只在链接组件不够时使用router.push。一个很好的例子是点击一个按钮,我们想触发其他前端/后端功能,然后重定向到另一个页面。

function handleClick(){
  randomFunction();
  anotherRandomFunction()
  
  router.push('<random_link>')
}

相关问题