Short Answer: React Navigation will work just fine without Redux. If you are using Redux already for other parts of your app, then I recommend integrating your navigation with Redux. However, I would not install and integrate Redux only to support navigation.
Long Answer: The advantage of using Redux in react-navigation is the same advantage as using Redux in general. You should make a decision about whether or not Redux is good for your app as a whole, and if so, consider integrating Redux into your navigation. There is an excellent article linked on the Redux website that discusses the pros and cons of Redux.
Redux offers a global state that is accessible from any component in your app. It allows you to pass that state, or a subset of that state, as props to any component. This has some useful advantages:
- You can maintain the state in one place without having to track the state in individual components.
- You can easily persist your state to local storage or to a server for later use.
- If done properly, you can have an "undo" trail to follow.
- You can move much of your business logic into Redux allowing you to reuse business logic in multiple views.
- You can dispatch normal redux actions to navigate, e.g:
dispatch({type: 'GoToChatScreen'})
However, Redux asks you to do the following (taken straight from the article):
- Describe application state as plain objects and arrays.
- Describe changes in the system as plain objects.
- Describe the logic for handling changes as pure functions.
This requires a very systematic and disciplined approach to your business logic which may actually increase the complexity of your code if you have a small app.
The bottom line is Redux is a useful and popular way of representing state and data in React apps, but it is not for everyone and every use case.
If you choose to use Redux in your app, then incorporating your navigation into Redux gives you the normal Redux advantages. Your navigation can be persisted, have an "undo" history, benefit from central logging, etc.
My recommendation would be to incorporate your navigation into Redux if you are already using Redux for other parts of your app. However, it is not worth incorporating Redux just to support navigation.