Comments (8)
I think it's okay to use useNavigationRef
for the navigation prop for internal implementation of useFocusEffect
in this library,
from hooks.
@satya164 I think it will only solve half of the problem for users.
useFocusEffect(useCallback(() => {
setParams({something: true});
},[setParams]));
The following code will trigger again and again without a stable setParams (cf #35)
If we don't export this API, people will have to find a solution themselves, like:
const useNavigationRef = () => {
const navigation = useNavigation()
const ref = useRef(navigation);
useLayoutEffect(() => {
ref.current = navigation;
});
return ref;
};
const navigationRef = useNavigationRef();
useFocusEffect(useCallback(() => {
navigationRef.setParams({something: true});
},[navigationRef]));
So basically they end up re-implementing the internally used useNavigationRef
hook
from hooks.
Is there any update on this issue ? I'm currently facing the problem and the previous solution (with useNavigationRef) doesn't work for me (I'm using 1.1.0).
thanx
Sami
from hooks.
hi @dngconsulting can you share a repro using useNavigationRef ?
What exactly isn't working, you have an infinite loop or something?
from hooks.
Yes absolutely, an infinite loop, I have managed to do it in another way with useEffect and deps array parameter. Thanks.
from hooks.
Hi,
Do you remember what was the problem with your code? Is there something wrong in this lib or was it your fault?
from hooks.
Frankly speaking I didn't dedicated too much time to this issue because it was flagged here. For me, it's not possible to update the navigation object (with setParam) when you are in FocusEffect hook. You can reproduce it very easily, by changing dynamically the title header of react-navigation in the hook. Hoping that react navigation next will ship soon ...
from hooks.
Are you sure you were using useCallback inside useFocusEffect ? It's important to provide a stable callback to useFocusEffect
The useFocusEffect of navigation next is quite similar in behavior because it has been backported from v5 to v4. If there's something that does not work well, it would be nice to report it nicely here so that we can eventually fix it in v5 too before an official release.
from hooks.
Related Issues (20)
- Proper way to use react-navigation-hooks with storybook HOT 2
- Types are missing and causing errors HOT 18
- react-navigation-hooks v2 HOT 2
- setTopLevelNavigator support for hooks HOT 2
- Getting error 'from' expected HOT 2
- I can't define NavigationParams types with useNavigation HOT 1
- Reset Stack HOT 1
- Proposal: Ability to pass params for tabBarOnPress defaultHandler function HOT 1
- setParams entity change when is called HOT 1
- useFocusEffect should handle drawers HOT 4
- useNavigation shouldn't be in @react-navigation/native? HOT 3
- Open&Close Drawer HOT 1
- Hooks on the web - react-navigation is now directly imported HOT 3
- useNavigation give the warning "can't perform a React state update on an unmounted component" HOT 1
- Can I reproduce events like "onEnter/onExit" ? HOT 6
- "THIS ISSUE WAS DELETED AND BLOCKED"
- Include v5 patching for users converting from v4 to v5? HOT 1
- useNavigation not working HOT 1
- How i can re-render with useNavigationParam ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hooks.