首页 > 解决方案 > react-router-dom v5 的 useHistory 实例是什么?

问题描述

正如我们在 v5 中所知道的,react-router-dom我们可以使用useHistory钩子来获取历史对象。但是,如果我们有 SSR 并使我们的对象成为其中一种createMemoryHistory方式createBrowserHistory

useHistory会给我们什么实例?

标签: reactjsreact-routerreact-hooksreact-router-dom

解决方案


useHistory非常简单:它history从上下文中获取。

所以这取决于你如何制作你的SSR。如果你做对了(否则你的应用程序无论使用钩子都不会导航)采用useHistory路由器()。useMemoryRouter

其他情况,由于某种原因,您同时拥有<MemoryRouter><BrowserRouter>但在不同的地方)。然后useHistory将返回组件层次结构中最接近的一个。


推荐阅读