@react-hookz/web
Version:
React hooks done right, for browser and SSR.
15 lines (14 loc) • 540 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useRafState = void 0;
var __1 = require("..");
/**
* Like `React.useState`, but state is only updated within animation frame.
*/
function useRafState(initialState) {
var _a = (0, __1.useSafeState)(initialState), state = _a[0], innerSetState = _a[1];
var _b = (0, __1.useRafCallback)(innerSetState), setState = _b[0], cancelRaf = _b[1];
(0, __1.useUnmountEffect)(cancelRaf);
return [state, setState];
}
exports.useRafState = useRafState;