我试图在用户离开页面而不保存时添加提示。
这是我的代码:
componentDidUpdate() {
if (!this.props.data.get('is_data_saved')) {
window.addEventListener('beforeunload', function(e) {
e.returnValue = 'Data may not be saved'
}, true);
} else {
window.removeEventListener('beforeunload', function(e) {
e.returnValue = 'Data may not be saved'
}, true);
console.log('REMOVED')
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到“已删除”,但即使已保存表单,仍然会弹出提示。是不是因为我把事件监听器放在了错误的组件中?
我正在尝试提高我的网站性能,而 Google Chrome Lighthouse 告诉我使用可加载组件进行 ssr 以“删除未使用的 javascript”。
我在文档中发现它似乎是一个对我的案例具有有用功能的库,例如:组件拆分/加载库。
我的问题是:
谢谢!