我想保存key:value
到localStorage
使用的“清理回报”useEffect()
挂钩。
这是我的代码:
useEffect(() => {
const onbeforeunloadFn = () => {
localStorage.setItem('color', 'red')
}
window.addEventListener('onbeforeunload', onbeforeunloadFn);
return () => {
window.removeEventListener('onbeforeunload', onbeforeunloadFn);
}
}, [])
我什至尝试onbeforeunloadFn handler
使用prevent
默认行为并返回a,string
但它也不起作用。遵循onbeforeunload文档
谁能解释我为什么或如何制作此代码,使其仅在用户关闭时才起作用browser tab
?谢谢
就像@AlexanderStaroselsky提到的那样,我认为您只是将事件名称误拼了一点。
useEffect(() => {
const onbeforeunloadFn = () => {
localStorage.setItem('color', 'red')
}
window.addEventListener('beforeunload', onbeforeunloadFn);
return () => {
window.removeEventListener('beforeunload', onbeforeunloadFn);
}
}, [])
有趣的是,您所引用文档的英语版本有一个稍有不同的示例,该示例可能可以帮助您确定错误:
window.addEventListener("beforeunload", function(event) { ... });
window.onbeforeunload = function(event) { ... };
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句