@exabytellc/utils
Version:
EB react utils to make everything a little easier!
18 lines (15 loc) • 580 B
JavaScript
import { useCallback, useState } from "react";
/**
* A custom hook that forces a component to re-render by updating an internal state.
*
* @returns {[function, number]} An array where the first element is a function
* to trigger a re-render, and the second element is the current state value.
*/
export default function useForceRerender() {
const [value, setValue] = useState(0);
/**
* Triggers a re-render by incrementing the internal state value.
*/
const rerender = useCallback(() => setValue(p => p + 1), []);
return [rerender, value];
}