Skip to content

Instantly share code, notes, and snippets.

@sadewole
Last active January 5, 2021 12:39
Show Gist options
  • Save sadewole/49c771686f2e14e4d4f74adfa92e02f0 to your computer and use it in GitHub Desktop.
Save sadewole/49c771686f2e14e4d4f74adfa92e02f0 to your computer and use it in GitHub Desktop.
initial function
const SessionTimeout = () => {
const [events, setEvents] = useState(['click', 'load', 'scroll']);
const [second, setSecond] = useState(0);
// reset interval timer
let resetTimer = useCallback(() => {
if (isAuthenticated) {
timeStamp = moment();
sessionStorage.setItem('lastTimeStamp', timeStamp);
} else {
sessionStorage.removeItem('lastTimeStamp');
}
}, [isAuthenticated]);
// Life cycle hook
useEffect(() => {
events.forEach((event) => {
window.addEventListener(event, resetTimer);
});
}, [resetTimer]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment