UNPKG

@kirz/react-native-toolkit

Version:

Toolkit to speed up React Native development

27 lines 1.19 kB
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import React, { useEffect, useRef } from 'react'; import { Keyboard, View } from 'react-native'; export function KeyboardDismissView(props) { const isKeyboardVisible = useRef(false); useEffect(() => { const keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', () => { isKeyboardVisible.current = true; }); const keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => { isKeyboardVisible.current = false; }); return () => { keyboardDidHideListener.remove(); keyboardDidShowListener.remove(); }; }, []); return /*#__PURE__*/React.createElement(View, _extends({}, props, { onStartShouldSetResponder: () => { if (isKeyboardVisible.current) { Keyboard.dismiss(); } return false; } })); } //# sourceMappingURL=KeyboardDismissView.js.map