Skip to content

Instantly share code, notes, and snippets.

@sturmenta
Created April 6, 2021 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sturmenta/3441f635fe8c6cb37d017a5df5679b1c to your computer and use it in GitHub Desktop.
Save sturmenta/3441f635fe8c6cb37d017a5df5679b1c to your computer and use it in GitHub Desktop.
react-native KeyboardListener
import React, {useEffect} from 'react';
import {Keyboard} from 'react-native';
const KeyboardListener: React.FC<{
onDidShow: (e: any) => void;
onDidHide: (e: any) => void;
}> = ({onDidShow, onDidHide}) => {
useEffect(() => {
if (onDidShow) Keyboard.addListener('keyboardDidShow', onDidShow);
if (onDidHide) Keyboard.addListener('keyboardDidHide', onDidHide);
return () => {
Keyboard.removeListener('keyboardDidShow', onDidShow);
Keyboard.removeListener('keyboardDidHide', onDidHide);
};
}, []);
return null;
};
export default KeyboardListener;
// using like: <KeyboardListener onDidShow={() => setKeyboardOpen(true)} onDidHide={() => setKeyboardOpen(false)} />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment