gpt4 book ai didi

reactjs - 刷新页面时 react 钩子(Hook)清理

转载 作者:行者123 更新时间:2023-12-04 04:21:24 24 4
gpt4 key购买 nike

我有一个使用钩子(Hook)在 React 中构建的应用程序,当关闭时需要通知服务器。我尝试使用以下方法进行操作:

function onUnload() {

if (roomID !== "")
endGame(roomID, dispatch);
}

useEffect(() => {
return onUnload;
},[])

在这里, endGame是一个对后端执行 HTTP 请求的函数。但是当刷新页面以模拟用户关闭应用程序时,请求永远不会到达服务器,这意味着清理功能不会被执行。关于什么是错的任何想法?

提前致谢

最佳答案

刷新页面与卸载组件不同。当您刷新页面时,React 状态会被重置,因为 React 仅适用于当前客户端 session ,并且刷新等同于重置它。您正在寻找的可能是 onunload事件。试试这个:

window.onbeforeunload = function(e) {
return onUnload();
};

关于reactjs - 刷新页面时 react 钩子(Hook)清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59208308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com