gitpoint / git-point

GitHub in your pocket :iphone:
https://gitpoint.co/
MIT License
4.73k stars 788 forks source link

Re-navigating back to the same screen does not reload state #3

Open housseindjirdeh opened 7 years ago

housseindjirdeh commented 7 years ago

Since the app has nested navigation throughout, most of the screens can be accessed through each of the tabs. Moreover, the same screen can easily be accessed in the same stack.

To reproduce this bug, there are 2 ways:

1

1) In any tab, navigate to any screen (for example: user profile) 2) Switch to a different tab, navigate to the same screen (for example: user profile for a different user) 3) Switch back the first tab and you'll notice that the correct state isn't shown

2

1) navigate to repository screen (as an example) 2) click any contributor to navigate to user profile screen 3) click number of repos to navigate to repository list screen 4) click a repository to navigate to the repository screen 5) go back multiple times until you reach the first repository screen you accesed -- you'll notice that the correct state isn't shown


This can be solved by essentially reloading component state whenever it comes into focus and there's an issue open for that in React Navigation.

One thing I've tried is wrapping a HOC in the meantime that exposes a isFocused prop, but I couldn't have this working without the component state being fired multiple times every time the screen was focused.

Open to suggestions of any kind!

machour commented 6 years ago

This will soon be totally fixed by the new redux middleware 🎉

Can already be verified by opening starred repositories for different users in all 4 tabs