Javascript React中是否支持fullscreenchange事件?

Javascript React中是否支持fullscreenchange事件?,javascript,reactjs,Javascript,Reactjs,我在React中尝试了fullscreenchange,但它不起作用,所以我必须在我的案例中使用addEventListener,我想知道React中是否支持fullscreenchange事件?感谢您的帮助该标识符中似乎没有任何内容。在FullScreenChange中没有,您可以在中查看所有受支持的事件 您可以检查一个实现示例,以便在自定义挂钩中使用它: export default function useFullscreenStatus(elRef) { const [isFulls

我在React中尝试了fullscreenchange,但它不起作用,所以我必须在我的案例中使用addEventListener,我想知道React中是否支持fullscreenchange事件?感谢您的帮助

该标识符中似乎没有任何内容。

在FullScreenChange中没有
,您可以在中查看所有受支持的事件

您可以检查一个实现示例,以便在自定义挂钩中使用它:

export default function useFullscreenStatus(elRef) {
  const [isFullscreen, setIsFullscreen] = React.useState(
    document[getBrowserFullscreenElementProp()] != null
  );

  const setFullscreen = () => {
    if (elRef.current == null) return;

    elRef.current
      .requestFullscreen()
      .then(() => {
        setIsFullscreen(document[getBrowserFullscreenElementProp()] != null);
      })
      .catch(() => {
        setIsFullscreen(false);
      });
  };

  React.useLayoutEffect(() => {
    document.onfullscreenchange = () =>
      setIsFullscreen(document[getBrowserFullscreenElementProp()] != null);

    return () => (document.onfullscreenchange = undefined);
  });

  return [isFullscreen, setFullscreen];
}

function getBrowserFullscreenElementProp() {
  if (typeof document.fullscreenElement !== "undefined") {
    return "fullscreenElement";
  } else if (typeof document.mozFullScreenElement !== "undefined") {
    return "mozFullScreenElement";
  } else if (typeof document.msFullscreenElement !== "undefined") {
    return "msFullscreenElement";
  } else if (typeof document.webkitFullscreenElement !== "undefined") {
    return "webkitFullscreenElement";
  } else {
    throw new Error("fullscreenElement is not supported by this browser");
  }
}

这对我帮助很大:)它在任何地方都能工作,但在ios safari中,它的获取错误,fullscreenElement不受此浏览器支持。@丹尼斯:有什么想法吗?这对新手会有帮助的