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