`connect` does a _lot_ of work to ensure that your own components only re-render when necessary:
- It checks to see if the root Redux state is different than last time, and bails out if it's the same reference under the assumption that nothing changed
- It checks to see if the return values from your `mapState` function are shallow-equality different than last time, and again bails out if they're the same
- The handling for `mapState` and `mapDispatch` is heavily memoized to cut down on unneeded work.
If you have specific performance concerns with a Redux app, please let me know - I'd be happy to offer advice and point you to possible solutions. But, a blanket statement that "Redux is quite slow" is meaningless without context for what's happening.
- It checks to see if the root Redux state is different than last time, and bails out if it's the same reference under the assumption that nothing changed
- It checks to see if the return values from your `mapState` function are shallow-equality different than last time, and again bails out if they're the same
- The handling for `mapState` and `mapDispatch` is heavily memoized to cut down on unneeded work.
If you have specific performance concerns with a Redux app, please let me know - I'd be happy to offer advice and point you to possible solutions. But, a blanket statement that "Redux is quite slow" is meaningless without context for what's happening.