Skip to content

Instantly share code, notes, and snippets.

@paoloricciuti
paoloricciuti / useCallbackState.js
Created January 21, 2022 08:39
useCallbackState.js
import { useEffect, useRef, useState } from "react";
const useCallbackState = (initialValue) => {
const [state, _setState] = useState(initialValue);
const callbackQueue = useRef([]);
useEffect(() => {
callbackQueue.current.forEach((cb) => cb(state));
callbackQueue.current = [];
}, [state]);
const setState = (newValue, callback) => {
_setState(newValue);