@bedrock-layout/use-stateful-ref
Version:
bedrock-layout useStatefulRef
18 lines (17 loc) • 358 B
JavaScript
import c from "react";
function s(u) {
let [e, f] = c.useState(u);
const { current: r } = c.useRef({
current: e
});
return Object.defineProperty(r, "current", {
get: () => e,
// eslint-disable-next-line functional/no-return-void
set: (t) => {
Object.is(e, t) || (e = t, f(t));
}
}), r;
}
export {
s as useStatefulRef
};