在我的React应用程序中,我注意到当我从"import Router from"next/Router'使用Router.push('/')
时,我要访问的页面的状态不会重新加载。
这意味着,当页面加载时,我已经想知道一些加载微调器的控制状态是不准确的,我最终会非常简短地看到这些微调器。
然而,如果我使用JS和location.assign('/')
,页面会重新加载,一切都很好。
有人能告诉我2之间的区别吗?以及为什么Router.push不做同样的事情(或者如果有什么/一些选项我需要使用(?
Router.push不会故意重新加载页面,它应该是您的目标。不重新加载是单页应用程序的优点之一。
如果数据已经加载,则不需要再次显示微调器。
知道了这一点,您应该构建应用程序来利用这一点。
Location.assign是浏览器的内置方法。它没有应用程序的上下文,比如什么数据已经加载,什么数据没有加载。它无法重新加载页面并保留任何数据。