UNPKG

use-hook-kits

Version:

![npm](https://img.shields.io/npm/dt/use-hook-kits.svg) ![npm](https://img.shields.io/npm/v/use-hook-kits.svg) ![NpmLicense](https://img.shields.io/npm/l/use-hook-kits.svg)

21 lines (17 loc) 523 B
import {useRef, useState, useEffect} from 'react'; const useStateCallback = (initialState) => { const [state, setState] = useState(initialState); const callback = useRef(null); const setStateCallback = (val, cb) => { callback.current = cb; setState(val); }; useEffect(() => { if (callback.current) { callback.current(state); callback.current = null; } }, [state]); return [state, setStateCallback]; }; export default useStateCallback