小编age*_*ntp的帖子

React:删除事件侦听器“beforeunload”不起作用

我试图在用户离开页面而不保存时添加提示。

这是我的代码:

    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)

我在控制台中得到“已删除”,但即使已保存表单,仍然会弹出提示。是不是因为我把事件监听器放在了错误的组件中?

javascript reactjs

1
推荐指数
1
解决办法
1957
查看次数

何时在 NextJS 应用程序中使用可加载组件?

我正在尝试提高我的网站性能,而 Google Chrome Lighthouse 告诉我使用可加载组件进行 ssr 以“删除未使用的 javascript”。

我在文档中发现它似乎是一个对我的案例具有有用功能的库,例如:组件拆分/加载库。

我的问题是:

  1. @loadable/component 真的那么好吗?
  2. 如果它很好,我应该将它用于任何组件/库导入吗?

谢谢!

performance reactjs next.js loadable-component

1
推荐指数
1
解决办法
1718
查看次数