1
0
mirror of https://github.com/uetchy/namae.git synced 2025-03-17 20:40:32 +09:00
namae/web/src/hooks/state.js

19 lines
402 B
JavaScript

import { useState, useEffect } from 'react'
export function useDeferredState(duration) {
const [response, setResponse] = useState()
const [innerValue, setInnerValue] = useState()
useEffect(() => {
const fn = setTimeout(() => {
setResponse(innerValue)
}, duration)
return () => {
clearTimeout(fn)
}
}, [duration, innerValue])
return [response, setInnerValue]
}