0.1.6 • Published 8 months ago

@rescui/use-resize-observer v0.1.6

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
8 months ago

ResizeObserver hook

This package is used for observing react elements. It uses ResizeObserver and alleviates some of its bugs.

It's best used together with React refs. It can be used with raw HTML elements, although it's better to avoid that.

Usage examples

React ref example

import React, { useRef } from 'react';
import { useResizeObserver } from '@rescui/use-resize-observer';

const MyComponent = () => {
  const ref = useRef<HTMLElement>(null);
  useResizeObserver(ref, (entry: ResizeObserverEntry) => {
    // resize logic
  });

  return <div ref={ref}>To the moon!</div>;
};

HTML element example

Note: Avoid this option when possible due to additional re-renders when using callback refs and useState. Use React ref instead.

import React, { useState } from 'react';
import { useResizeObserver } from '@rescui/use-resize-observer';

const MyComponent = () => {
  const [el, setEl] = useState<HTMLElement>(null);
  useResizeObserver(el, (entry: ResizeObserverEntry) => {
    // resize logic
  });

  return <div ref={setEl}>To the moon!</div>;
};