A React Hook (using useEffect) which uses window.setTimeout().
A React Hook (using useEffect) which uses window.setTimeout().
In your React component:
``
import { useState } from 'react'
import useSetTimeout from "use-set-timeout"
function SetTimeout() {
const [ triggered, setTriggered ] = useState(false)
useSetTimeout(() => { setTriggered(true) }, 5 * 1000)
return
triggered = { triggered }
There is no need to keep a reference to the timeout ID since it will be automatically cleared when the component unmounts.
Please note that the timeout is cleared and reset if you change the timeout
ms but not if you change the function fn.Usage ##
`
useSetTimeout(fn, delay)
`*
fn is a function to execute
* delay is the delay in millisecondsOther Hooks ##
Please see all of the other reacthooks.org hooks:
* use-document-title - Change the
document.title
* use-resize - Subscribe to Window 'resize' events and get the width and height
* use-window-width - Subscribe to Window 'resize' events and get the width
* use-online - Get online/offline status
* use-match-media - Get whether a media query is matched
* .usePrefersColorScheme() - Get whether the user prefers the 'light' or 'dark' color scheme
* use-set-timeout - use and automatically clear a setTimeout()
* use-set-interval - use and automatically clear a setInterval()
* use-orientation-change - get Device Orientation updates
* use-session-storage - gets and sets a key in window.sessionStorage
* use-form-validation - helps manage form values, validation, and errorsAuthor ##
`
$ npx chilts ╒════════════════════════════════════════════════════╕
│ │
│ Andrew Chilton (Personal) │
│ ------------------------- │
│ │
│ Email : andychilton@gmail.com │
│ Web : https://chilts.org │
│ Twitter : https://twitter.com/andychilton │
│ GitHub : https://github.com/chilts │
│ GitLab : https://gitlab.org/chilts │
│ │
│ Apps Attic Ltd (My Company) │
│ --------------------------- │
│ │
│ Email : chilts@appsattic.com │
│ Web : https://appsattic.com │
│ Twitter : https://twitter.com/AppsAttic │
│ GitLab : https://gitlab.com/appsattic │
│ │
│ Node.js / npm │
│ ------------- │
│ │
│ Profile : https://www.npmjs.com/~chilts │
│ Card : $ npx chilts │
│ │
╘════════════════════════════════════════════════════╛
``(Ends)