2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

리액트 네이티브에서 스크린샷을 찍는 방법은 무엇인가요?

_____
1. Q: React Native에서 스크린샷을 찍으려면 어떤 방법이 있나요?
A: 크게 세 가지 방법이 있습니다.
1) react-native-view-shot 라이브러리 사용
2) Expo 관리형 워크플로우의 MediaLibrary·takeSnapshotAsync 사용
3) 네이티브 모듈(UIManager.takeSnapshot 등) 직접 구현

2. Q: react-native-view-shot 설치 및 연결 방법은?
A:
• 패키지 설치
```bash
npm install react-native-view-shot
또는
yarn add react-native-view-shot
```
• iOS: ios 폴더에서 `pod install` 실행
• Android: 별도 설정 불필요(Autolinking 지원)

3. Q: 전체 화면을 캡처하는 기본 사용 예제는?
A:
```javascript
import { captureScreen } from "react-native-view-shot";

captureScreen({ format: "png", quality: 0.8 })
.then(uri => console.log("스크린샷 URI:", uri))
.catch(error => console.error("에러:", error));
```

4. Q: 특정 뷰(컴포넌트)만 캡처하고 싶어요.
A:
1) 뷰에 ref 달기
```jsx
import React, { useRef } from "react";
import { View, Button } from "react-native";
import { captureRef } from "react-native-view-shot";

export default function App() {
const viewRef = useRef();
const takeShot = () => {
captureRef(viewRef, { format: "jpg", quality: 0.9 })
.then(uri => console.log("캡처된 뷰 URI:", uri))
.catch(err => console.error(err));
};

return (

{/* 캡처 대상 UI */}
리액트 네이티브에서 스크린샷을 찍는 방법은 여러 가지가 있지만, 가장 일반적으로 사용되는 방법 중 하나는 `react-native-view-shot` 라이브러리를 사용하는 것입니다.

이 라이브러리는 특정 뷰의 스크린샷을 찍고, 이를 이미지 파일로 저장하거나 공유할 수 있는 기능을 제공합니다.

아래에서는 `react-native-view-shot`를 사용하여 스크린샷을 찍는 방법을 단계별로 설명하겠습니다.

1. 라이브러리 설치 먼저, `react-native-view-shot` 라이브러리를 설치해야 합니다.

아래의 명령어를 사용하여 설치할 수 있습니다.

```bash npm install react-native-view-shot ``` 또는 Yarn을 사용하는 경우: ```bash yarn add react-native-view-shot ```

2. 링크 및 설정 리액트 네이티브 0.60 이상에서는 자동으로 링크가 되지만, 만약 수동으로 설정해야 하는 경우에는 아래의 단계를 따르세요.

- iOS : `ios/Podfile`에 다음을 추가한 후 `pod install`을 실행합니다.

```ruby pod 'react-native-view-shot', :path => '../node_modules/react-native-view-shot' ``` - Android : `android/settings.gradle`에 다음을 추가합니다.

```gradle include ':react-native-view-shot' project(':react-native-view-shot').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-view-shot/android') ``` `android/app/build.gradle`의 `dependencies` 섹션에 다음을 추가합니다.

```gradle implementation project(':react-native-view-shot') ```

3. 스크린샷 찍기 이제 스크린샷을 찍는 코드를 작성할 수 있습니다.

아래는 기본적인 예제입니다.

```javascript import React, { useRef } from 'react'; import { View, Button, Image } from 'react-native'; import ViewShot from 'react-native-view-shot'; const App = () => { const viewShotRef = useRef(null); const [imageUri, setImageUri] = React.useState(null); const captureScreenshot = () => { viewShotRef.current.capture().then(uri => { console.log("Image saved to", uri); setImageUri(uri); }).catch(error => { console.error("Oops, snapshot failed", error); }); }; return ( backgroundColor: 'skyblue', justifyContent: 'center', alignItems: 'center' }}> 스크린샷을 찍을 뷰
작성자: 김하윤 [비회원] | 작성일자: 1년 전 2024-09-12 15:28:37
조회수: 158 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.