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

React router v4 get user confirmation when leaving page

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

例如 (SO):

使用 react router v4,逻辑已经改变,不再将路由器本身注入组件,我只在路由器 v4 上发现了以下功能:

BrowserRouter. getUserConfirmation

我有点困惑,为什么我应该 link 确认路由器本身的行为而不是特定组件!?

当离开我的组件(linked 到我的当前路线)时,我如何在处于特定状态时进行确认 window?上面的功能好像不支持这个

我想 Prompt component 就是您要找的。只需在您要确认导航表单的组件中呈现它,即您在 <Route>.

中呈现的相同组件

react-router-navigation-prompt 也可以满足您的需求:它更强大 <Prompt />.