next.js - 在Nextjs中,如何以编程方式触发服务端渲染?

标签 next.js

我们知道 Router.push() 触发客户端渲染。
但是如何以编程方式触发服务器端渲染到页面?

示例:我有一个登录模式,它在提交时发送一个 api 调用来检查用户数据。一旦我得到用户正常的信息,我想加载一个页面,但通过服务器端渲染。

最佳答案

如果你想在服务器端渲染一个页面,你不能使用 Router 导航到它。或 Link - 你应该使用原生 awindow.location功能。在您的情况下,从 API 获得响应后,您想要触发重定向(就像用户单击链接一样),因此您应该调用:

window.location.href = "https://{yourDestination}"

这将强制向服务器发出请求。如您所见,RouterLink尝试将所有内容都保留在客户端。

关于next.js - 在Nextjs中,如何以编程方式触发服务端渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376992/

相关文章:

javascript - 使用 useState Hook 更新对象数组

javascript - 动态组件查找导致 Next.js 包大小爆炸,如何解决?

javascript - useSWR 用于多个请求

javascript - 简单 react 错误 : Can't use @material-ui/picker library in Next. js

postgresql - 创建记录并将其连接到现有记录 prisma 客户端(1 对 1 关系)

reactjs - 在 supabase js 查询中获取计数并指定范围

javascript - Next.js router.push 对查询参数进行编码

reactjs - Semantic-UI-React 无法启用调试

next.js - 如何在接下来的 13 年内创建 protected 或私有(private)的路线

javascript - I18N 在 Next.JS 中更改语言