react-firehooks
Version:
Lightweight dependency-free collection of React hooks for Firebase
16 lines (15 loc) • 405 B
JavaScript
import { useEffect, useState } from "react";
/**
* @internal
*/
export function useStableValue(value, isEqual) {
const [state, setState] = useState(value);
useEffect(() => {
if (!isEqual(state, value)) {
setState(value);
}
// TODO: double check dependencies
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [value]);
return state;
}