文章ConfirmingNavigation说明如何在转换Hook中使用浏览器确认框。美好的。但我想使用我自己的对话框。如果我要使用history模块中的方法,我认为这是可能的。是否可以使用react-router中的setRouteLeaveHook来做到这一点? 最佳答案 核心问题是setRouteLeaveHook期望钩子(Hook)函数同步返回它的结果。这意味着您没有时间显示自定义对话框组件、等待用户单击一个选项,然后然后返回结果。所以我们需要一种方法来指定一个异步钩子(Hook)。这是我写的实用函数://Asynchron