首页 文章

React router v4 在离开页面时获得用户确认

提问于
浏览
2

在旧版本中,我可以在我的组件中使用 setRouteLeaveHook。

例如(SO):检测用户离开页面

使用 react 路由器 v4,逻辑已经从注入路由器本身转移到组件中,我只在路由器 v4 上找到了以下功能:

BrowserRouter。 getUserConfirmation

我有点困惑,为什么我应该将确认行为与路由器本身联系起来,而不是与特定组件链接!?

在离开我的组件(链接到我当前的路线)时,如何在处于某种状态时放置确认窗口?这似乎不受上述功能的支持。

2 回答

  • 7

    我认为提示组件正是你要找的。只需在要确认导航表单的组件中渲染它,i.e。您在<Route>中渲染的相同组件。

  • 0

    react-router-navigation-prompt也做你想要的:它是一个更强大的<Prompt />

相关问题