在Chrome浏览器中使用React的'onbeforeunload'事件进行双重确认的方法如下:
以下是一个示例代码:
import React, { useState, useEffect } from 'react';
function MyComponent() {
const [showConfirmation, setShowConfirmation] = useState(false);
useEffect(() => {
const handleBeforeUnload = (event) => {
event.preventDefault();
event.returnValue = '';
setShowConfirmation(true);
};
window.addEventListener('beforeunload', handleBeforeUnload);
return () => {
window.removeEventListener('beforeunload', handleBeforeUnload);
};
}, []);
const handleConfirmation = (confirmed) => {
setShowConfirmation(false);
if (confirmed) {
// 执行确认离开页面的操作
} else {
// 取消离开页面的操作
}
};
return (
<div>
{showConfirmation ? (
<div>
<p>确定要离开页面吗?</p>
<button onClick={() => handleConfirmation(true)}>确认</button>
<button onClick={() => handleConfirmation(false)}>取消</button>
</div>
) : null}
{/* 其他组件内容 */}
</div>
);
}
export default MyComponent;
这样,当用户在Chrome浏览器中尝试关闭或刷新页面时,将会显示一个双重确认框,询问用户是否确定离开页面。根据用户的选择,可以执行相应的操作。
领取专属 10元无门槛券
手把手带您无忧上云