正如我们在react-router-dom
的v5中所知,我们可以使用useHistory
钩子来获取历史对象。但如果我们有SSR,并使我们的对象成为createMemoryHistory
和createBrowserHistory
方式之一。
useHistory
会给我们举什么例子?
useHistory
非常简单:它从上下文中获取history
。
所以这取决于你如何制作你的SSR。如果你做对了(否则,无论使用挂钩,你的应用程序都无法导航(useHistory
根据路由器(useMemoryRouter
(获取。
其他情况下,由于某种原因,您同时拥有<MemoryRouter>
和<BrowserRouter>
(但位置不同(。然后useHistory
将返回组件层次结构中最接近的一个。