The approach I've been using is to split the app into smart and dumb components as Dan Abramov explains here. I then use connect
to feed the state into the smart components and pass props down to the dumb ones.
This allows you to reuse the dumb components in many places as they are not tied to a specific state.