본문 바로가기
JavaScript

[React] react-joyride(유저 가이드, 튜토리얼 라이브러리)

by 오근성 2023. 8. 14.
728x90

리액트에서 유저 가이드나 튜토리얼을 제공하는데 도움을 주는 라이브러리 중, react-joyride가 굉장히 인기 있고 활발하게 유지보수되고 있습니다. 이 라이브러리를 사용하면 웹사이트나 웹앱에서 step-by-step 가이드나 튜토리얼을 쉽게 만들 수 있습니다.

react-joyride의 주요 특징:

1.사용자 친화적: 사용자에게 애플리케이션의 특정 부분을 가리키면서 설명할 수 있는 가이드를 제공합니다.
2.커스터마이즈 가능: 툴팁, 배경 오버레이, 버튼 등을 커스터마이즈할 수 있습니다.
3.스크롤 및 포지셔닝: 필요한 경우 자동으로 스크롤을 제어하며, 다양한 포지셔닝 옵션을 제공합니다.
4.모바일 반응형: 모바일 환경에도 최적화되어 있습니다.
5.Redux와 호환: Redux와 같은 상태 관리 라이브러리와의 통합도 가능합니다.

사용하는 이유:

  • 다양한 기능 제공: 대부분의 요구 사항을 만족시킬 수 있는 다양한 기능을 제공합니다.
  • 활발한 커뮤니티: GitHub에서 많은 스타를 받고 있으며, 꾸준한 업데이트와 버그 수정이 이루어지고 있습니다.
  • 문서화: 상세하고 친절한 문서가 제공되므로 사용법을 쉽게 익힐 수 있습니다.

사용 방법:

  1. 설치:
npm install react-joyride
  1. 컴포넌트에 react-joyride를 임포트하고 설정하여 사용합니다.

TypeScript에서의 기본 사용

아래는 TypeScript (`*.tsx`)에서 `react-joyride`를 사용하여 웹 페이지에 간단한 튜토리얼을 추가하는 예제입니다:

import React, { useState } from 'react';
import Joyride, { CallBackProps, Step, STATUS } from 'react-joyride';

const App: React.FC = () => {
  const [run, setRun] = useState<boolean>(true);

  const steps: Step[] = [
    {
      target: '.my-first-step',
      content: 'This is our first step!',
    },
    {
      target: '.my-second-step',
      content: 'This is our second step!',
    },
    // ... more steps
  ];

  const handleJoyrideCallback = (data: CallBackProps) => {
    const { status } = data;

    if ([STATUS.FINISHED, STATUS.SKIPPED].includes(status)) {
      setRun(false);
    }
  };

  return (
    <div>
      <Joyride
        callback={handleJoyrideCallback}
        run={run}
        steps={steps}
        continuous={true}
        scrollToFirstStep={true}
        showProgress={true}
        showSkipButton={true}
      />
      <div className="my-first-step">First step target</div>
      <div className="my-second-step">Second step target</div>
    </div>
  );
};

export default App;
  • steps: 튜토리얼의 각 단계를 정의하는 배열입니다. 각 단계는 대상 요소와 해당 요소에 표시될 내용을 포함합니다.
  • run: 튜토리얼을 실행할지 여부를 결정하는 상태입니다. 시작하려면 true로 설정하고, 완료되거나 사용자에 의해 건너뛰어지면 false로 설정됩니다.
  • handleJoyrideCallback: 튜토리얼의 진행 상황에 대한 콜백 함수입니다. 여기서는 튜토리얼이 완료되거나 건너뛰어지면 run 상태를 false로 설정하여 튜토리얼을 종료하도록 합니다.

이렇게 설정하면 웹 페이지에서 `Joyride` 컴포넌트가 튜토리얼을 시작하고, 정의된 단계에 따라 사용자를 안내합니다.

이것은 기본적인 사용 방법입니다. `react-joyride`는 매우 유연하므로, 툴팁 스타일, 트리거, 위치, 애니메이션 등 다양한 옵션을 통해 튜토리얼의 동작과 디자인을 사용자 지정할 수 있습니다.

728x90

댓글