강의에 필요한 사전준비와 예제 코드 첨부
308
작성한 질문수 138
먼저 라이브러리를 설치 해줍니다.
npm i react-nativenpm 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 인턴입니다.
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은 스타일링을 위한 프로퍼티입니다.
즐거운 강의 되시길 바랍니다! 만약 추가적인 도움이 필요하시면 언제든지 문의해 주시기 바랍니다.
타입 오버라이딩
0
77
2
React19에서 useRef 타입 정의의 변화
0
118
2
jQuery를 $로 한 번 더 감싼 형태
0
54
1
typescript interface를 jsdoc으로 주석달 때
0
229
2
declare module시 import 위치
0
195
2
declare global 로 선언된 타입을 확장하는게 아닌 좁히는것도 가능할가요?
0
145
2
typescript 강의를 보고 개발을 하다가 강의와 다른 내용인데 물어볼곳이 여기밖에 없어서 질문 드립니다.
0
234
1
local.ts 예제코드 첨부 합니다.
1
227
1
redux 예제코드 가져와서 강의 보면서 따라하는데
1
242
1
react 함수 컴포넌트 타이핑은 있는데 클래스 컴포넌트 타이핑 예제 코드가 없네요.
1
285
1
axios 1.6.0 버전으로 보고 있는데영
4
391
1
Module '"axios"' has no default export 에러 나시는분들
0
879
1
안녕하세요, 제로초님 타입스크립트 axios 분석 강의보고 궁금한점이 있어서 질문드립니다
1
386
1
안녕하세요. 제로초님 당신의 강의 매니아 입니다. typescript 모듈 관련 질문이 있어서요.
0
268
1
axios catch 에서 error 타입에 대해 as 없이 이렇게 사용하면 어떨까요?
0
405
1
global 선언 시 export {}
0
296
1
initialState가 제네릭 S인 이유가 잘 이해가 되지 않습니다.
0
308
1
declare module vs declare namespace
0
473
1
declare namespace vs namespace
0
494
2
"axios": "1.4.0" 버전 axios type 코드가 강의와 다릅니다!
0
555
1
Redux type 설정 과정에서 발생한 오류 질문 (ts[2345])
1
376
2
index.d.ts 에서 global declare 선언을 했을 때와 하지 않았을 때의 차이
0
403
1
미들웨어가 커링패턴으로 이루어진 이유
0
435
1
axios 파트 첫번째 강의 질문입니다
0
531
1





