UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

17 lines (16 loc) 579 B
import { useFunction } from "../useFunction/useFunction.js"; import { isCallable } from "@lesnoypudge/utils"; import { useRef } from "react"; const useRefInjection = (initialState, setStateForInjection) => { const stateRef = useRef(initialState); const setStateWithInjection = useFunction((newState) => { const value = isCallable(newState) ? newState(stateRef.current) : newState; setStateForInjection(value); stateRef.current = value; }); return [stateRef, setStateWithInjection]; }; export { useRefInjection }; //# sourceMappingURL=useRefInjection.js.map