useNavigate 外部功能组件 - react-router v6

Posted

技术标签:

【中文标题】useNavigate 外部功能组件 - react-router v6【英文标题】:useNavigate outside functional component - react-router v6 【发布时间】:2021-07-13 04:05:50 【问题描述】:

有没有办法在 react-router v6 的功能组件之外使用 useNavigate() 挂钩?我正在尝试在 saga 函数中使用 navigate(url) 。我知道在 v4 中我们可以这样做:

const history = createBrowserHistory();
function* sagaFunc()
 history.push(url)

我们可以通过 useNavigate() 钩子在 react-router v6 中做类似的外部组件吗?

【问题讨论】:

此行为有效,但由于某种原因,它只是更改了路由并且不加载组件。我一直在寻找相同的替代品。 【参考方案1】:

你可以利用在 react 组件之外使用一些路由功能。

window.history.pushState(, "Dashboard", "/dashboard");
window.location.reload();

我自己没有找到任何合适的替代 createBrowserHistory() 存在于 v4v5 中。

参考来自here

【讨论】:

以上是关于useNavigate 外部功能组件 - react-router v6的主要内容,如果未能解决你的问题,请参考以下文章