• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

23.12.05 15:33 작성 23.12.05 15:43 수정 조회수 146

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;

 

즐거운 강의 되세요

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.07

안녕하세요, 인프런 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은 스타일링을 위한 프로퍼티입니다.

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