Skip to content
Docs
훅으로 돌아가기

useSmoothScroll

@hua-labs/hua/motion

설치

bash
npm install @hua-labs/hua
Import
tsx
import { useSmoothScroll } from "@hua-labs/hua/framework";

@hua-labs/motion-core의 모션 훅을 @hua-labs/hua/framework에서 통합 제공합니다.

UI 컴포넌트, 모션 훅, i18n을 하나의 패키지로 사용할 수 있습니다.

기본 사용법

tsx
const { scroll, progress, scrollTo } = useSmoothScroll({ lerp: 0.08 });

return (
  <button onClick={() => scrollTo(document.getElementById("section")!)}>
    Scroll to section
  </button>
);

API 레퍼런스

옵션

이름타입기본값설명
enabledbooleantruedocs:hooks.use-smooth-scroll.options.enabled
lerpnumber0.1docs:hooks.use-smooth-scroll.options.lerp
wheelMultipliernumber1docs:hooks.use-smooth-scroll.options.wheelMultiplier
touchMultipliernumber2docs:hooks.use-smooth-scroll.options.touchMultiplier
direction"vertical" | "horizontal""vertical"docs:hooks.use-smooth-scroll.options.direction
onScroll(scroll: number) => void-docs:hooks.use-smooth-scroll.options.onScroll

반환값

이름타입설명
scrollnumberdocs:hooks.use-smooth-scroll.returns.scroll
targetScrollnumberdocs:hooks.use-smooth-scroll.returns.targetScroll
progressnumberdocs:hooks.use-smooth-scroll.returns.progress
scrollTo(target: number | HTMLElement, options?: { offset?: number }) => voiddocs:hooks.use-smooth-scroll.returns.scrollTo
stop() => voiddocs:hooks.use-smooth-scroll.returns.stop

사용 사례

패럴랙스 효과

스크롤 기반 패럴랙스 레이어