# React용 ActiveReportsJS 보고서 뷰어 래퍼:

## Content

이 페이지에서는 React용 ActiveReportsJS 보고서 뷰어 래퍼에 대해 자세히 설명합니다. React 응용 프로그램에 래퍼 통합을 위한 간단한 가이드는 [시작하기](/activereportsjs/docs/v4.1/GettingStarted/QuickStart/QuickStart-React) 자습서를 확인하십시오.

### ActiveReportsJS React NPM 패키지

[@grapecity/activereports-react](https://www.npmjs.com/package/@grapecity/activereports-react) npm 패키지를 통해 React용 ActiveReportsJS 보고서 뷰어 래퍼 컴포넌트가 포함된 라이브러리를 배포합니다. 기본 [@grapecity/activereports](https://www.npmjs.com/package/@grapecity/activereports) 패키지는 핵심 기능을 제공합니다.

### ActiveReportsJS React 뷰어 컴포넌트

ActiveReportsJS React 뷰어 컴포넌트는 JSX(TSX) 파일로 내보내 컴포넌트의 렌더링 트리에 포함할 수 있습니다. 예를 들어 다음과 같습니다.

```javascript
import { Viewer as ReportViewer } from "@grapecity/activereports-react";
function App() {
  return (
    <div>
      <ReportViewer />
    </div>
  );
}
```

뷰어 컴포넌트는 다음 속성을 허용합니다.

| 속성 | 유형 | 기본값 | 설명 |
| --- | --- | --- | --- |
| availableExports | 문자열의 배열 |  | 뷰어 UI에서 사용할 수 있는 내보내기 목록을 설정합니다. 자세한 내용은 [내보내기](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Export#enable-report-viewer-export-sidebar-in-react-applications) 페이지를 참조하십시오. |
| mouseMode | 'Pan' | 'Selection' | 'Pan' |
| renderMode | 'Galley' | 'Paginated' | 'Paginated' |
| viewMode | 'Continuous' | 'SinglePage' | 'Continuous' |
| zoom | 'FitWidth' | 'FitPage' | number |
| fullscreen | boolean | false | 뷰어 컴포넌트가 콘텐츠를 전체 화면 모드에서 표시해야 하는지 여부를 나타냅니다. |
| toolbarVisible | boolean | true | 뷰어 컴포넌트의 도구 모음 표시 여부를 나타냅니다. |
| sidebarVisible | boolean | true | 뷰어 컴포넌트의 세로 막대 표시 여부를 나타냅니다. |
| panelsLayout | 'sidebar' | 'toolbar' | 'toolbar' |
| parameterPanelLocation | 'default' | 'top' | 'bottom' |
| toolbarLayout | Object |  | 사용 가능한 도구 모음 항목의 목록을 설정합니다. 자세한 내용은 [사용자 정의](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Customization) 페이지를 참조하십시오. |
| language | string |  | 뷰어의 UI 언어를 설정합니다. 자세한 내용은 [지역화](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Localization) 페이지를 참조하십시오. |
| exportsSettings | object |  | 내보내기 설정을 지정합니다. 자세한 내용은 [내보내기 설정](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Export/Export-Settings) 페이지를 참조하십시오. |
| report | Object |  | 뷰어 컴포넌트에서 로드할 보고서를 설정합니다. 자세한 내용은 [보고서 로드](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Loading-Reports) 섹션을 참조하십시오. |
| reportLoaded | (args: [ReportLoadEventArgs](@api/modules/reportviewer.html#reportloadeventargs))=>void |  | 보고서가 로드되면 렌더링이 시작되기 전에 발생하는 이벤트의 처리기를 설정합니다. |
| documentLoaded | (args: [DocumentLoadEventArgs](@api/modules/reportviewer.html#documentloadeventargs))=>void |  | 보고서 렌더링이 완료되면 발생하는 이벤트의 처리기를 설정합니다. |
| errorHandler | ()=> void |  | 보고서 렌더링이 오류를 일으키는 경우 발생하는 이벤트의 처리기를 설정합니다. |

이러한 입력 속성을 동적 값에 바인딩하여 뷰어 컴포넌트의 기본 UI를 완전히 덮어쓸 수 있습니다. 자세한 내용은 [사용자 정의 페이지](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Customization)를 참조하십시오.

또한 부모 컴포넌트가 뷰어 컴포넌트에 대한 `ref`를 만든 다음 해당 `Viewer` 속성을 사용하여 [뷰어 클래스 인스턴스의 메서드 및 속성](@api/classes/reportviewer.viewer.html)에 액세스할 수 있습니다. 예를 들어 다음과 같습니다.

```javascript
import { Viewer as ReportViewer } from "@grapecity/activereports-react";
function App() {
  const viewerRef = React.createRef();
  const btnClick = function () {
    viewerRef.current.Viewer.toggleFullScreen();
  };
  return (
    <div id="viewer-host">
      <button type="button" onClick={btnClick}>
        Full Screen
      </button>
      <ReportViewer ref={viewerRef} />
    </div>
  );
}
```

<br/>
### 관련 링크

* [라이브 데모](/activereportsjs/demos/features/viewer-integration/react)
* [보고서 로드](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Loading-Reports)
* [사용자 정의](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Customization)
* [지역화](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Localization)
* [인쇄](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Print)
* [내보내기](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Export)
* [테마](/activereportsjs/docs/v4.1/DeveloperGuide/ActiveReportsJSViewer/Themes)