RUI.next

Hooks
useInViewport

useInViewport

A hook that can observe whether the element is in the visible area, and the visible area ratio of the element.

const [isInViewport, ratio] = useInViewport(target);
const [isInViewport, ratio] = useInViewport(target);

Example

Basic usage of useInViewport hook.

Observe the visible area ratio of element target
Test scroll within viewport

The root container
target element
in viewport: visible
ratio: 1

API

PropertyDescriptionTypeDefault
targetThe DOM element or refElement | () => Element | MutableRefObject<Element>-
optionsThe config optionsOptions-

Options

PropertyDescriptionTypeDefault
thresholdEither a single number or an array of numbers which indicate at what percentage of the target's visibility the ratio should be executed.number | number[]-
rootMarginThe margin around the root.string-
rootThe element that is used as the viewport for checking visibility of the target. Must be the ancestor of the target. Defaults to the browser viewport if not specified or if null.Element | Document | () => (Element/Document) | MutableRefObject<Element>-