Skip to content

Files

Latest commit

 

History

History
33 lines (25 loc) Β· 697 Bytes

useRafState.md

File metadata and controls

33 lines (25 loc) Β· 697 Bytes

useRafState

React state hook that only updates state in the callback of requestAnimationFrame.

Usage

import {useRafState, useMount} from 'react-use';

const Demo = () => {
  const [state, setState] = useRafState({
    width: 0,
    height: 0,
  });

  useMount(() => {
    const onResize = () => {
      setState({
        width: window.clientWidth,
        height: window.height,
      });
    };

    window.addEventListener('resize', onResize);

    return () => {
      window.removeEventListener('resize', onResize);
    };
  });

  return <pre>{JSON.stringify(state, null, 2)}</pre>;
};