We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
useRefreshOnFocus
1 parent b992f89 commit 70e3d47Copy full SHA for 70e3d47
docs/src/pages/react-native.md
@@ -55,16 +55,19 @@ import React from 'react'
55
import { useFocusEffect } from '@react-navigation/native'
56
57
export function useRefreshOnFocus<T>(refetch: () => Promise<T>) {
58
- const enabledRef = React.useRef(false)
+ const firstTimeRef = React.useRef(true)
59
60
useFocusEffect(
61
React.useCallback(() => {
62
- if (enabledRef.current) {
63
- refetch()
64
- } else {
65
- enabledRef.current = true
+ if (firstTimeRef.current) {
+ firstTimeRef.current = false;
+ return;
66
}
+
67
+ refetch()
68
}, [refetch])
69
)
70
71
```
72
73
+In the above code, `refetch` is skipped the first time because `useFocusEffect` calls our callback on mount in addition to screen focus.
0 commit comments