From d2002798761a191a30f3864d8aaee7042e40a3aa Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 3 Jan 2020 16:00:56 +0200 Subject: [PATCH] Add useComponentWillUnmount --- snippets/useComponentWillUnmount.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 snippets/useComponentWillUnmount.md diff --git a/snippets/useComponentWillUnmount.md b/snippets/useComponentWillUnmount.md new file mode 100644 index 000000000..737872e67 --- /dev/null +++ b/snippets/useComponentWillUnmount.md @@ -0,0 +1,26 @@ +--- +title: useComponentWillUnmount +tags: hooks,effect,beginner +--- + +A hook that executes a callback immediately before a component is unmounted and destroyed. + +- Use `React.useEffect()` with an empty array as the second argument and return the provided callback to be executed only once before cleanup. + +```jsx +const useComponentWillUnmount = onUnmountHandler => { + React.useEffect(() => () => { + onUnmountHandler() + }, []); +} +``` + +```jsx +const Unmounter = () => { + useComponentWillUnmount(() => console.log('Component will unmount')); + + return
Check the console!
; +} + +ReactDOM.render(, document.getElementById('root')); +```