What is the purpose of using subscribe
in code like store.subscribe(render)
? Doesn't using mapStateToProps
and connect
already cause the connected component to re-render each time the store's state changes?

- 9,485
- 18
- 65
- 113
2 Answers
Quoting the Redux.js page:
Technically you could write the container components by hand using store.subscribe(). We don't advise you to do this because React Redux makes many performance optimizations that are hard to do by hand. For this reason, rather than write container components, we will generate them using the connect() function provided by React Redux,
If you're already using react with redux, you might as well use their package, since it is already optimized.
Also referencing a previous answer: https://stackoverflow.com/a/36214059/3938413
The examples showing store.subscribe(render)
are using small code snippets showing you the basic way to hook redux into react.
store.subscribe
comes from the redux
package.
connect
comes from the react-redux
package and is not a part of redux itself.
The react-redux
package uses store.subscribe
to hook itself into the redux dispatch cycle. You can then access the redux store by using the connect
component enhancer.
Third party libs (or middleware for example) can hook into the store lifecycle via store.subscribe
.

- 1,957
- 2
- 15
- 18