跳至主要内容

useDocumentVisibility

跟蹤 document.visibilityState 的 React Hook

Usage

即時編輯器

function Demo() {
  const visibility = useDocumentVisibility("hidden");
  const [message, setMessage] = useState(
    "💡 最小化頁面或切換標籤然後返回",
  );

  useEffect(() => {
    if (visibility === "visible") {
      setTimeout(() => {
        setMessage("🎉 歡迎回來!");
      }, 2000);
    }
    else {
      setTimeout(() => {
        setMessage("🥰 休息一下");
      }, 2000);
    }
  }, [visibility]);

  return <div>{message}</div>;
}

結果
Error: Minified React error #185; visit https://react.dev/errors/185 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

API

useDocumentVisiblity

Returns

DocumentVisibilityState: 文檔可見性

Arguments

參數名描述類型預設值
defaultValue默认值DocumentVisibilityState | undefined-
Squarespace
Squarespace makes your marketing, customer management, and checkout flow effortless—all on a single platform.
Get Started