当用户想要离开指定页面时,我需要显示一个模式。
当用户想要转到页面上的其他链接时,我可以使用getUserConfirmation
来解决此问题:
const getUserConfirmation = (message, callback) => {
const history = createBrowserHistory({
forceRefresh: true
})
if (history.location.pathname == "/add/car") {
store.dispatch(showModal('ConfirmationLeavingAddPageModal', { callback }));
}
}
问题是,当我按浏览器上的后退按钮时,它不再起作用。 接受任何帮助吗?
答案 0 :(得分:1)
对于react-router
2.4.0 +
componentDidMount() {
this.props.router.setRouteLeaveHook(this.props.route, () => {
if (history.location.pathname == "/add/car") {
store.dispatch(showModal('ConfirmationLeavingAddPageModal', {
callback
}));
}
})
}
此外,您需要import { withRouter } from 'react-router'
和export default withRouter(YourComponent)