@react-hookz/web
Version:
React hooks done right, for browser and SSR.
11 lines (10 loc) • 422 B
JavaScript
import { useRafCallback, useSafeState, useUnmountEffect } from '..';
/**
* Like `React.useState`, but state is only updated within animation frame.
*/
export function useRafState(initialState) {
var _a = useSafeState(initialState), state = _a[0], innerSetState = _a[1];
var _b = useRafCallback(innerSetState), setState = _b[0], cancelRaf = _b[1];
useUnmountEffect(cancelRaf);
return [state, setState];
}