@dyst/react
Version:
Dynamic Css-in-Js styles engine, based on Emotion for React
15 lines (12 loc) • 368 B
JavaScript
import React from 'react';
function useGuaranteedMemo(fn, deps) {
const ref = React.useRef();
if (!ref.current || deps.length !== ref.current.prevDeps.length || ref.current.prevDeps.map((v, i) => v === deps[i]).indexOf(false) >= 0) {
ref.current = {
v: fn(),
prevDeps: [...deps]
};
}
return ref.current.v;
}
export { useGuaranteedMemo };