当刷新页面或导航离开网站(也就是丢失临时存储空间)时,我需要向用户显示一个确认对话框,告诉他他将丢失所有未保存的数据。 他可以选择继续导航或取消转换,如预期的那样。
我正在使用以下代码处理此问题:
componentWillMount() {
const history = useBeforeUnload(createHistory)();
history.listenBeforeUnload(() => {
confirm('You will lose all unsaved information, proceed?');
});
}
这很好,但是,默认情况下,ReactJS使用window.confirm和其他人(请参阅:https://github.com/reactjs/history/issues/14)来显示确认对话框。
我要做的是用自定义模式替换此框以进行确认。 或者至少改变它的造型;重。
现在,我知道使用getUserConfirmation
(https://github.com/reactjs/history/blob/master/docs/ConfirmingNavigation.md)
我不确定如何使用getUserConfirmation来自定义我的消息对话框(如果可能的话),或者如何进行此操作。
我也看过像http://bootboxjs.com/这样的替代品,不确定这是不是一种合适的方式。
有谁知道我该怎么做呢?可以进行多少定制?