Deeply integrating your router with Redux has some advantages, such as:
- synchronizing the routing data with the store, and being able to access it from there in other parts of our Redux application
- being able to navigate by dispatching actions, like we did in our custom router
- having support for time traveling debugging for route changes via Redux DevTools
Note that you do not need this deep integration in every application, because:
- routing data is already passed as properties to route components
- instead of dispatching actions to navigate, we can navigate using the history object passed as a property to Route components
- route changes are unlikely to matter for time traveling debugging