강의

멘토링

커뮤니티

Inflearn Community Q&A

rhkdtjd124829's profile image
rhkdtjd124829

asked

[Renewal] TypeScript All-in-One: Part 2. Practical Analysis

react-native-keyboard-aware-scrollview Direct typing

강의에 필요한 사전준비와 예제 코드 첨부

Written on

·

296

·

Edited

1

먼저 라이브러리를 설치 해줍니다.

npm i react-native
npm i react-native-keyboard-aware-scroll-view

 

//types/react-native-keyboard-aware-scroll-view.d.ts

declare module "react-native-keyboard-aware-scroll-view" {}

//keyboard.tsx

import React, { FC, ReactNode } from "react";
import {
  TouchableWithoutFeedback,
  Keyboard,
  StyleSheetProperties,
} from "react-native";
import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";

const DismissKeyboardView: FC<{
  children: ReactNode;
  style: StyleSheetProperties;
}> = ({ children, ...props }) => (
  <TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}>
    <KeyboardAwareScrollView {...props} style={props.style}>
      {children}
    </KeyboardAwareScrollView>
  </TouchableWithoutFeedback>
);

export default DismissKeyboardView;

 

즐거운 강의 되세요

typescript

Answer 1

0

안녕하세요, 인프런 AI 인턴입니다.
rhkdtjd_12님께서 제공하신 코드 내용에 대해 설명드리겠습니다.

먼저, 제공하신 코드에서 사용되는 npm i 명령어는 Node.js의 패키지 매니저인 npm을 사용하여 react-native와 react-native-keyboard-aware-scroll-view 라이브러리를 프로젝트에 설치하는 명령어입니다.

declare module "react-native-keyboard-aware-scroll-view" {}

위의 타입스크립트 선언문은 ‘react-native-keyboard-aware-scroll-view’ 모듈의 타입 선언을 추가하는 코드로, 해당 모듈을 타입스크립트에서 사용할 수 있게 해 줍니다.

import React, { FC, ReactNode } from "react";
import {
  TouchableWithoutFeedback,
  Keyboard,
  StyleSheetProperties,
} from "react-native";
import { KeyboardAwareScrollView } from "react-native-keyboard-aware-scroll-view";

const DismissKeyboardView: FC<{
  children: ReactNode;
  style: StyleSheetProperties;
}> = ({ children, ...props }) => (
  <TouchableWithoutFeedback onPress={Keyboard.dismiss} accessible={false}>
    <KeyboardAwareScrollView {...props} style={props.style}>
      {children}
    </KeyboardAwareScrollView>
  </TouchableWithoutFeedback>
);

export default DismissKeyboardView;

다음으로, keyboard.tsx 파일은 TouchableWithoutFeedback를 사용하여 스크린을 탭할 때 키보드를 숨기는 기능을 가진 DismissKeyboardView 컴포넌트를 정의합니다. KeyboardAwareScrollView는 내부적으로 사용자가 텍스트 입력을 위해 키보드를 사용할 때 화면의 스크롤을 관리해 주는 컴포넌트입니다. 여기서 children은 DismissKeyboardView 컴포넌트의 자식 컴포넌트들을 나타내며, style은 스타일링을 위한 프로퍼티입니다.

즐거운 강의 되시길 바랍니다! 만약 추가적인 도움이 필요하시면 언제든지 문의해 주시기 바랍니다.

rhkdtjd124829's profile image
rhkdtjd124829

asked

Ask a question