ilokesto

Observer

Observer uses IntersectionObserver through useIntersectionObserver and renders its children only when the observed div is intersecting.

import { Observer } from '@ilokesto/utilinent';

<Observer fallback={<CardPlaceholder />} rootMargin="120px" triggerOnce>
  <ExpensiveCard />
</Observer>

Props

PropTypeDescription
children`ReactNode(isIntersecting) => ReactNode`
fallbackReactNodeRendered while not intersecting.
threshold`numbernumber[]`
rootMarginstringObserver root margin. Defaults to "0px".
triggerOncebooleanStop observing after first intersection.
onIntersect(isIntersecting, entry) => voidCalled when entering intersection after initial observation.

Observer renders through Show.div, so the observed element is a div and accepts normal div props/ref.

On this page