我有一个电子商务应用程序在NextJS,我有一个问题,我的主菜单。事实上,如果我使用Next的<Link>
标签,带或不带"预取";参数,我仍然有预取链接(悬停或如果项目是在视窗)。我的页面加载了getStaticProps。
我想使用<Link>
来保留Next和SPA的所有好处,但我认为在我需要它们之前预取所有产品页面会破坏后端性能。
你认为我可以使用路由器吗?推送我的应用程序的这一部分?
通过使用router。push而不是Link Component,你的应用会失去它的功能,比如
- SPA(因为它会重定向到一个新页面)和
- SEO(因为它不能被爬虫检测到)
理想的电子商务平台,我认为最好利用链接组件,不要过度考虑你的预取问题,因为这些内置组件由nextJs已经由Vercel团队优化。
我们也应该只使用router。Link Components不够时push. 一个很好的例子是,当我们点击一个按钮时,我们想触发其他前端/后端函数,然后重定向到另一个页面。
function handleClick(){
randomFunction();
anotherRandomFunction()
router.push('<random_link>')
}