React:如何在使用 react-router-component 导航时提示未保存的更改
React: How to prompt for unsaved changes when navigating with react-router-component
Redux 状态保留未保存更改的标志,如果设置了此标志,我想在导航时提示用户(单击 Link)。我正在使用 react-router-component。我没有在文档中找到如何执行此操作。
您应该能够创建自己的 Link 组件(继承自 Router.NavigatableMixin
,此处示例 https://github.com/STRML/react-router-component/issues/105#issuecomment-63874805 and here http://strml.viewdocs.io/react-router-component/recipes/custom-link/)。
然后,如果 'yes' 您只是继续 this.navigate(...)
(从您的组件中继承自 Navigatable),那么您只需通过提示用户是否要导航离开来处理该组件上的点击事件。
任何在 2018 年达到此 post 并使用 React 路由器 4+ 的人,我建议阅读此 reacttraining example
TL;DR 使用顶部的 Prompt
组件
<Prompt
when={hasUnsavedChanges}
message="There are unsaved changes, do you wish to discard them?"
/>
Redux 状态保留未保存更改的标志,如果设置了此标志,我想在导航时提示用户(单击 Link)。我正在使用 react-router-component。我没有在文档中找到如何执行此操作。
您应该能够创建自己的 Link 组件(继承自 Router.NavigatableMixin
,此处示例 https://github.com/STRML/react-router-component/issues/105#issuecomment-63874805 and here http://strml.viewdocs.io/react-router-component/recipes/custom-link/)。
然后,如果 'yes' 您只是继续 this.navigate(...)
(从您的组件中继承自 Navigatable),那么您只需通过提示用户是否要导航离开来处理该组件上的点击事件。
任何在 2018 年达到此 post 并使用 React 路由器 4+ 的人,我建议阅读此 reacttraining example
TL;DR 使用顶部的 Prompt
组件
<Prompt
when={hasUnsavedChanges}
message="There are unsaved changes, do you wish to discard them?"
/>