[React Native] Refetch on focus screen only if data is really stale #4016
-
I'm currently using this function (modified from official docs) to refetch the data on screen focus, but only when export function useRefreshOnFocus() {
const firstTimeRef = React.useRef(true);
useFocusEffect(
React.useCallback(() => {
if (firstTimeRef.current) {
firstTimeRef.current = false;
return;
}
focusManager.setFocused(true);
}, [])
);
} When I use function onAppStateChange(status: AppStateStatus) {
if (Platform.OS !== 'web') {
focusManager.setFocused(status === 'active');
if (status === 'active') {
queryClient.invalidateQueries(['QUERY_THAT_NEEDS_TO_BE_REFETCHED']);
}
}
} It works fine with that code, but is there any more idiomatic way to do that? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
|
Beta Was this translation helpful? Give feedback.
queryClient.refetchQueries
respectsstaleTime
if you pass thestale:true
filter.