Files
prowler/ui/hooks/use-store.ts

18 lines
411 B
TypeScript

import { useEffect, useState } from "react";
/**
* This hook fix hydration when use persist to save hook data to localStorage
*/
export const useStore = <T, F>(
store: (callback: (state: T) => unknown) => unknown,
callback: (state: T) => F,
) => {
const result = store(callback) as F;
const [data, setData] = useState<F>();
useEffect(() => {
setData(result);
}, [result]);
return data;
};