UNPKG

@react-hookz/web

Version:

React hooks done right, for browser and SSR.

15 lines (14 loc) 540 B
"use strict"; 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;