@kirz/react-native-toolkit
Version:
Toolkit to speed up React Native development
27 lines • 1.19 kB
JavaScript
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