对于我的示例应用程序,我试图检查互联网连接是否存在,我为此使用了一个可重用的钩子,如下所示
function useNetwork() {
const [isOnline, setNetwork] = useState(window.navigator.onLine);
const updateNetwork = () => {
setNetwork(window.navigator.onLine);
};
useEffect(() => {
window.addEventListener("offline", updateNetwork);
window.addEventListener("online", updateNetwork);
return () => {
window.removeEventListener("offline", updateNetwork);
window.removeEventListener("online", updateNetwork);
};
});
return isOnline;
}
但是问题是它在chrome上工作,但是当我在safari上登记时,我试着打开wifiisOnline我在safari的控制台上也尝试过,作为window . navigator . I online它返回了我的真实,
所以通读不同的问题,一个,这里达尼洛建议发送一个httpRequest并检查它。
所以我应该向google.com这样的网站发送get请求,这样我就可以知道状态,并设置我的在线价值为真。因为我认为我需要轮询这个,因为当dom改变时,上面的钩子会很小心,但是
我怎样才能做到这一点,或者还有更好的方法。
我如何在上面的可重用钩子中实现这个。
感谢任何帮助
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。