We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
We implemented a hook that pulls in the params from the route and optionally clears them when we navigate away from the screen.
This was a common action for us and might be worth pulling into the react-navigation core.
export const useNavigationParams = <T extends object>({ clearParamsOnBlur = true, }: { clearParamsOnBlur: boolean; }): T => { const [params, setParams] = useState<T>({} as T); const route = useRoute<any>(); const navigation = useNavigation(); useFocusEffect( useCallback(() => { if (route.params) { setParams(route.params); } else { setParams({} as T); } return () => { if (clearParamsOnBlur) { const nullifiedParams = {} as any; Object.keys(route.params || {}).forEach((paramKey) => (nullifiedParams[paramKey] = null)); navigation.setParams(nullifiedParams); } }; }, [route, navigation, clearParamsOnBlur]) ); return params; };
And this is used like:
const Component = () => { const { onSuccess } = useNavigationParams({ clearParamsOnBlur: true }); return (...) }
The text was updated successfully, but these errors were encountered:
Hi.
Not sure why do you need such a hook. Can you explain? Particularly the part where you do the cleanup.
Sorry, something went wrong.
No branches or pull requests
We implemented a hook that pulls in the params from the route and optionally clears them when we navigate away from the screen.
This was a common action for us and might be worth pulling into the react-navigation core.
And this is used like:
The text was updated successfully, but these errors were encountered: