Skip to content

Files

Latest commit

00816a4 Β· Oct 16, 2019

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>;
};