// !!! 废弃了 import { useRef, useState, useCallback, useEffect } from 'react' // export function useRefState(initialState: T) { // const ref = useRef(initialState) // const [_, setState] = useState(true) // const dispatch = useCallback((newState: T) => { // if (newState !== ref.current) { // ref.current = newState // setState((prevState) => !prevState) // } // }, []) // return [ref, dispatch] as [ // React.MutableRefObject, // (newState: T) => T // ] // } export function useRefState(initialState: T | (() => T)) { const [state, setState] = useState(initialState) const ref = useRef(state) ref.current = state return [ref, setState] as [ React.MutableRefObject, React.Dispatch> ] }