zoukankan      html  css  js  c++  java
  • [React] Detect user activity with a custom useIdle React Hook

    If the user hasn't used your application for a few minutes, you may want to log them out of the application automatically in case they've stepped away from the machine and someone nefarious attempts to use their session. Let's checkout how you can create a custom React hook that wraps a regular npm module called activity-detector to solve this problem.

    import React from "react";
    import ReactDOM from "react-dom";
    import createActivityDetector from "activity-detector";
    
    import "./styles.css";
    
    function useIdle(options) {
      const [isIdle, setIsIdle] = React.useState(false);
      React.useEffect(() => {
        const activityDetector = createActivityDetector(options);
        activityDetector.on("idle", () => setIsIdle(true));
        activityDetector.on("active", () => setIsIdle(false));
    
        // clean the subscription
        return () => {
          activityDetector.stop();
        };
      });
      return isIdle;
    }
    
    function App() {
      const isIdle = useIdle({ timeToIdle: 1000 });
      return (
        <div className="App">
          {!isIdle ? <div>Hello World</div> : <div>Are you there?</div>}
        </div>
      );
    }
    
    const rootElement = document.getElementById("root");
    ReactDOM.render(<App />, rootElement);

    UseEffect

  • 相关阅读:
    set 用法、小结
    AC 自动机优化
    HDU 2222 Keywords Search 【ac自动机】
    组合数学 隔板法
    BZOJ1303_中位数图_KEY
    初识Trie_对Trie的一些认识
    网络流Edmonds-Karp算法入门
    Codevs1332_上白泽慧音_KEY
    Fliptil_KEY
    2017Noip普及组游记
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10354958.html
Copyright © 2011-2022 走看看