反应管理员:确认路由交换机上的消息

时间:2018-09-03 11:07:32

标签: react-admin

我想通过警告用户未保存的更改来防止他们离开CreateVacancy组件。

通过redux saga处理@@router/LOCATION_CHANGE几乎没有帮助,因为已经分派了动作并且无论如何都会进行页面切换。

React Admin的困难之处在于我无权直接访问<Route/>组件。否则,我会使用Route的onLeave道具来实现我的目标。

我需要以某种方式跟踪先前的位置(/vacancy/create),并防止用户未经confirm进入其他路线。

您会推荐什么?谢谢。

1 个答案:

答案 0 :(得分:1)

我认为这可能是一个很棒的功能请求。您可以在我们的存储库中创建一个吗?同时,在使用react-router时,您可能可以利用其Prompt组件:

import { Prompt } from 'react-router';

const PostCreate = props => (
    <Fragment>
          <Prompt message="Are you sure you want to leave?" />
          <Create {...props}>
              ...
          </Create>
    </Fragment>
)

我还没有测试过,但是应该可以。如果您需要进一步自定义对话框,请查看此article