diff --git a/.changeset/old-pianos-find.md b/.changeset/old-pianos-find.md new file mode 100644 index 00000000..95db1773 --- /dev/null +++ b/.changeset/old-pianos-find.md @@ -0,0 +1,5 @@ +--- +"@react-native-community/hooks": minor +--- + +dep list on useBackHandler diff --git a/README.md b/README.md index 7aefcc18..53edfcf4 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ useBackHandler(() => { } // let the default thing happen return false -}) +},[shouldBeHandledHere]) ``` ### `useImageDimensions` diff --git a/src/useBackHandler.ts b/src/useBackHandler.ts index e8c31f3f..67238803 100644 --- a/src/useBackHandler.ts +++ b/src/useBackHandler.ts @@ -1,10 +1,10 @@ -import { useEffect } from "react" +import { DependencyList, useEffect } from "react" import { BackHandler } from "react-native" -export function useBackHandler(handler: () => boolean) { +export function useBackHandler(handler: () => boolean, deps: DependencyList = []) { useEffect(() => { - const subscription = BackHandler.addEventListener("hardwareBackPress", handler) + const sub = BackHandler.addEventListener("hardwareBackPress", handler) - return () => subscription.remove() - }, [handler]) + return () => sub.remove() + }, [handler, ...deps]) }