我们在react-router-dom
的v5中知道,我们可以使用useHistory
钩子来获取历史对象。但是如果我们有SSR并将对象设为createMemoryHistory
和createBrowserHistory
方式之一。
什么样的实例将使用History给我们?
[useHistory
是really straightforward:从上下文中提取history
。
因此,这取决于您如何制作SSR。如果操作正确(否则,无论使用什么钩子,您的应用程序都将无法导航)useHistory
使用according路由器(useMemoryRouter
)。
[由于某种原因您同时具有<MemoryRouter>
和<BrowserRouter>
(但位置不同)的其他情况。然后,useHistory
将返回组件层次结构中最接近的一个。