UNPKG

react-native-ui-lib

Version:

[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://stand-with-ukraine.pp.ua)

51 lines 1.28 kB
import React from 'react'; import { Keyboard, View } from 'react-native'; import KeyboardRegistry from "../KeyboardRegistry"; import CustomKeyboardViewBase from "./CustomKeyboardViewBase"; export default class CustomKeyboardView extends CustomKeyboardViewBase { static displayName = 'IGNORE'; async componentDidUpdate(prevProps) { const { component, inputRef, shouldFocus, onKeyboardDismiss } = this.props; if (prevProps.component !== component) { if (!component) { if (shouldFocus) { if (inputRef?.current) { inputRef.current.focus?.(); } else { inputRef?.focus?.(); } } } else { Keyboard.dismiss(); } onKeyboardDismiss?.(); } super.componentDidUpdate(prevProps); } getStyle = () => { const { keyboardHeight } = this.props; return { height: keyboardHeight }; }; render() { const { component, initialProps } = this.props; const KeyboardComponent = component && KeyboardRegistry.getKeyboard(component); if (!KeyboardComponent) { return null; } return <View style={this.getStyle()}> <KeyboardComponent {...initialProps} /> </View>; } }