mirror of
https://github.com/uetchy/namae.git
synced 2025-03-18 04:50:32 +09:00
19 lines
402 B
JavaScript
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]
|
||
|
}
|