Tony凯2020-03-23
我们知道Router.push()会触发客户端渲染。但是,如何以编程方式触发服务器端渲染到页面?
示例:我有一个登录模式,在提交时会发送一个api调用来检查用户数据。一旦获得用户可以的信息,我就想通过服务器端渲染来加载页面。
如果要在服务器端呈现页面,则不能使用Router或导航至该页面,而Link应使用本机a或window.location功能。对于您的情况,从API获得响应后,您想触发重定向(就像用户单击了链接一样),因此应调用:
Router
Link
a
window.location
window.location.href = "https://{yourDestination}"
这将向服务器发出请求。正如你所经历的,Router并Link试图把一切都在客户端。
Newest Answer
如果要在服务器端呈现页面,则不能使用
Router
或导航至该页面,而Link
应使用本机a
或window.location
功能。对于您的情况,从API获得响应后,您想触发重定向(就像用户单击了链接一样),因此应调用:这将向服务器发出请求。正如你所经历的,
Router
并Link
试图把一切都在客户端。