import { useState, useEffect } from 'react' export interface IUseCacheData { (data: T, defaultValue?: DV): [T, React.Dispatch>] } /** * @author nazi * @param {boolean} [defaultValue=false] * @returns */ const useCacheData: IUseCacheData = (data, defaultValue) => { const [state, setState] = useState(data || defaultValue) useEffect(() => { if (data) { setState(data) } }, [data]) return [state, setState] } export default useCacheData