useOnline

useNetwork 的包装,检测网络状况

useOnlineuseNetwork 的轻量级封装,返回一个表示浏览器当前是否连接到网络的单一布尔值。它监听 window 上的 onlineoffline 事件并响应式更新。当你只需要知道用户是否在线,而不需要 useNetwork 提供的详细连接信息时使用此 hook。

使用场景

  • 显示简单的”您已离线”横幅或提示通知
  • 当用户断开连接时禁用表单提交或 API 调用
  • 在离线优先应用中在在线和离线模式之间切换

注意事项

  • SSR 安全:在服务端渲染期间返回 undefined。服务端不会访问 navigator.onLinewindow 事件。
  • 简单 vs 详细:如需更多信息(连接类型、下行速度等),请使用 useNetwork
  • 浏览器行为navigator.onLine 表示网络连接,而非互联网可达性。true 值不保证用户能访问你的服务器。

Usage

Live Editor

function Demo() {
  const online = useOnline();
  return <div>{JSON.stringify(online)}</div>;
};
Result

API

useOnline

Returns

boolean | undefined: 网络是否在线

Arguments