-
useSyncState ( 同步的state )
import { useRef, useState } from 'react'; import { debounce } from 'lodash'; export default function useSyncState(initState, wait = 0) { const startRef = useRef(initState), [, forceUpdate] = useState(null);
const setState = debounce((state) => { if (!Object.is(state, startRef.current)) { startRef.current = state; forceUpdate({}); } }, wait);
return [startRef, setState]; }