这是我的代码:
constructor( props ) {
super( props )
this.state = {
newOrganizationCountry : ''
}
this.handleChange = this.handleChange.bind( this )
this.handleSubmit = this.handleSubmit.bind( this )
this.handleChangeOfTimeZone = this.handleChangeOfTimeZone.bind( this )
this.onUnload = this.onUnload.bind(this); // if you need to bind callback to this
this.handleChangeOfStartDate = this.handleChangeOfStartDate.bind( this )
{
/*
-> Time Zone detail
-> https://raw.githubusercontent.com/yury-dymov/react-bootstrap-timezone-picker/master/src/timezones.json
*/
}
onUnload(event) { // the method that will be used for both add and remove event
console.log("hellooww")
event.returnValue = "Hellooww"
}
componentWillMount() {
window.removeEventListener("beforeunload", this.onUnload)
}
componentDidMount() {
if(this.state!=null){
window.removeEventListener("beforeunload", this.onUnload)
}
}
当我在更改表单中的内容后关闭窗口并且它要求我确认退出时,这是有效的。 但是当我点击其他页面/链接/路线时,我希望它能够正常工作。 请建议我一切有效。 感谢
答案 0 :(得分:0)
当您在react-router中单击任何Link
时,新链接将被推送到您的浏览器历史记录中。因此,这只是变化无常的链接,并且具有preventDefault()
您无法执行此操作,但是例如,您可以向页面中的所有链接添加事件,以在您要退出当前页面时显示消息。