Two questions:
mapStateToProps is called before constructor?As a side-effect of 1
constructor (props) {
base(props
mapStateToProps is not called magically before your constructor. It is done by connect which is a Higher Order Component that executes mapStateToProps before your component is initialised. In fact, connect initialises your component in its body.
connect(mapStateToProps, mapDispatchToProps)(YourComponent)
Why componentWillReceiveProps not executed? Because React doesn't call componentWillReceiveProps for the initial render, so you should use componentDidMount instead.
componentWillReceiveProps
Invoked when a component is receiving new props. This method is not called for the initial render.