• ..

Shell

    getInitialProps と react-redux の connect で渡す props は後者優先

    以下では、getInitialPropsfoo: 1という値で返しているので、this.props.fooには1が入ってきます。が、以下のようにconnectでバインド同じプロパティに対してバインドしてしまうとconnectで渡したmapStateToPropsの値で上書きされてしまいfoo: 9になってしまいます。

    class FooBase extends React.Component {
      static getInitialProps() {
        return {
          foo: 1
        }
      }
    
      render() {
        console.log(this.props.foo)
        // output: 9
    
        return <div>foo</div>
      }
    }
    
    connect(() => ({foo: 9})(FooBase)

    少し考えれば当たり前な気もしますが、少しハマりました。ステート構造を見直すなどするといいかもしれません。