diff --git a/README.md b/README.md
index 73793bb9..bea8dc23 100644
--- a/README.md
+++ b/README.md
@@ -101,12 +101,12 @@
- [`useTitle`](./docs/useTitle.md) — sets title of the page.
- [`usePermission`](./docs/usePermission.md) — query permission status for browser APIs.
-
+
- [**Lifecycles**](./docs/Lifecycles.md)
- [`useEffectOnce`](./docs/useEffectOnce.md) — a modified [`useEffect`](https://reactjs.org/docs/hooks-reference.html#useeffect) hook that only runs once.
- [`useEvent`](./docs/useEvent.md) — subscribe to events.
- [`useLifecycles`](./docs/useLifecycles.md) — calls `mount` and `unmount` callbacks.
- - [`useRefMounted`](./docs/useRefMounted.md) — tracks if component is mounted.
+ - [`useMountedState`](./docs/useMountedState.md) and [`useRefMounted`](./docs/useRefMounted.md) — track if component is mounted.
- [`usePromise`](./docs/usePromise.md) — resolves promise only while component is mounted.
- [`useLogger`](./docs/useLogger.md) — logs in console as component goes through life-cycles.
- [`useMount`](./docs/useMount.md) — calls `mount` callbacks.
diff --git a/docs/useMountedState.md b/docs/useMountedState.md
new file mode 100644
index 00000000..ae6ecace
--- /dev/null
+++ b/docs/useMountedState.md
@@ -0,0 +1,25 @@
+# `useMountedState`
+
+Lifecycle hook providing ability to check component's mount state.
+Gives a function that will return `true` if component mounted and `false` otherwise.
+
+## Usage
+
+```jsx
+import * as React from 'react';
+import {useMountedState} from 'react-use';
+
+const Demo = () => {
+ const isMounted = useMountedState();
+
+ React.useEffect(() => {
+ setTimeout(() => {
+ if (isMounted()) {
+ // ...
+ } else {
+ // ...
+ }
+ }, 1000);
+ });
+};
+```
diff --git a/src/__stories__/useMountedState.story.tsx b/src/__stories__/useMountedState.story.tsx
new file mode 100644
index 00000000..a4bcac43
--- /dev/null
+++ b/src/__stories__/useMountedState.story.tsx
@@ -0,0 +1,17 @@
+import { storiesOf } from '@storybook/react';
+import * as React from 'react';
+import { useMountedState } from '..';
+import ShowDocs from './util/ShowDocs';
+
+const Demo = () => {
+ const isMounted = useMountedState();
+ const [, updateState] = React.useState();
+
+ requestAnimationFrame(updateState);
+
+ return