diff --git a/README.md b/README.md
index 1b2ea981..b3ef87b6 100644
--- a/README.md
+++ b/README.md
@@ -173,6 +173,16 @@ console.log('layout: ', layout)
```
+### `useKeyboardRelease`
+
+```js
+import {useKeyboardRelease} from '@react-native-community/hooks'
+
+const {onRelease, shouldSetResponse} = useKeyboardRelease()
+
+
+```
+
[version-badge]: https://img.shields.io/npm/v/@react-native-community/hooks.svg?style=flat-square
[package]: https://www.npmjs.com/package/@react-native-community/hooks
diff --git a/src/index.ts b/src/index.ts
index dc4646ea..3e4ed519 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -9,6 +9,7 @@ import {useInteractionManager} from './useInteractionManager'
import {useDeviceOrientation} from './useDeviceOrientation'
import {useLayout} from './useLayout'
import {useImageDimensions} from './useImageDimensions'
+import {useKeyboardRelease} from './useKeyboardRelease'
export {
useDimensions,
@@ -23,4 +24,5 @@ export {
useDeviceOrientation,
useLayout,
useImageDimensions,
+ useKeyboardRelease,
}
diff --git a/src/useKeyboardRelease.ts b/src/useKeyboardRelease.ts
new file mode 100644
index 00000000..6b59b67a
--- /dev/null
+++ b/src/useKeyboardRelease.ts
@@ -0,0 +1,13 @@
+import {Keyboard, Platform} from 'react-native'
+
+export interface KeyboardReleaseReturns {
+ shouldSetResponse: () => boolean
+ onRelease: () => void
+}
+
+export function useKeyboardRelease(): KeyboardReleaseReturns {
+ const shouldSetResponse = () => (Platform.OS === 'web' ? false : true)
+ const onRelease = () => Keyboard.dismiss()
+
+ return {onRelease, shouldSetResponse}
+}