@rooks/use-fresh-tick
rooks. All hooks now reside in a single package which you can install using
Note: Future updates to this package have moved to the main packagenpm install rooks
or
yarn add rooks
Rooks is completely treeshakeable and if you use only 1 of the 50+ hooks in the package, only that hook will be bundled with your code. Your bundle will only contain the hooks that you need. Cheers!
About
Like use-fresh-ref but specifically for functions
Installation
npm install --save @rooks/use-fresh-tick
Importing the hook
import useFreshTick from "@rooks/use-fresh-tick";
Usage
function Demo() {
const [currentValue, setCurrentValue] = useState(0);
function increment() {
setCurrentValue(currentValue + 1);
}
// no stale closure issue
const freshTick = useFreshTick(increment);
useEffect(() => {
const intervalId = setInterval(() => {
freshTick();
}, 1000);
return () => clearInterval(intervalId);
}, []);
return null;
}
render(<Demo />);