React-redux mapStateToProps values not updated









up vote
0
down vote

favorite












I have a weird scenario in which inside my redux dev-tools I can see that the redux state has been updated but that value is not being reflected in the component which is connected to that.



So I have a component CreateEnvironment like



export interface StateProps 
environment: EnvironmentStep;
selectProduct: SelectProductStep;
eula: EULAStep;
license: LicenseStep;
infrastructure: InfrastructureStep;
network: NetworkStep;
certificate: CertificateStep;
products: any;


export interface DispatchProps
onFormValuesUpdate: (key: string, value: any) => void;


type Props = StateProps & DispatchProps;

interface State
dashboard: boolean;


class CreateEnvironment extends Component<Props, State>
private page: RefObject<any>;
constructor(props: Props)
super(props);
this.state = dashboard: false ;
this.page = React.createRef();

public render()
console.log("Hi"); //tslint:disable-line
if (this.state.dashboard)
return <Redirect to="/dashboard" />;

const
environment,
eula,
selectProduct,
infrastructure,
network,
license,
certificate,
onFormValuesUpdate
= this.props;
return (
<Fragment>
<h2>Create Environment</h2>
<div style= height: '100%', paddingBottom: '30px' >
<WorkFlow
orientation="vertical"
onNext=this.onNext
onFinish=this.onFinish
>
<WorkFlowPage pageTitle="Environment">
<Environment
environment=environment
onUpdate=onFormValuesUpdate
ref=this.page
/>
</WorkFlowPage>
<WorkFlowPage pageTitle="Products & Solutions">
<SelectProduct
ref=this.page
selectProduct=selectProduct
onUpdate=onFormValuesUpdate
/>
</WorkFlowPage>
<WorkFlowPage
pageNavTitle="EULA"
pageTitle="End User License Agreement Details"
>
<Eula eula=eula ref=this.page onUpdate=onFormValuesUpdate />
</WorkFlowPage>
<WorkFlowPage pageTitle="License">
<License
license=license
ref=this.page
onUpdate=onFormValuesUpdate
/>
</WorkFlowPage>
<WorkFlowPage pageTitle="Infrastructure">
<Infrastructure
infrastructure=infrastructure
ref=this.page
onUpdate=onFormValuesUpdate
/>
</WorkFlowPage>
<WorkFlowPage pageTitle="Network">
<Network
network=network
ref=this.page
onUpdate=onFormValuesUpdate
/>
</WorkFlowPage>
<WorkFlowPage pageTitle="Certificate">
<Certificate
certificate=certificate
ref=this.page
onUpdate=onFormValuesUpdate
/>
</WorkFlowPage>
<WorkFlowPage pageTitle="Products">I am products step</WorkFlowPage>
<WorkFlowPage pageTitle="Summary">I am summary step</WorkFlowPage>
<WorkFlowButton role="previous">Back</WorkFlowButton>
<WorkFlowButton role="next">Next</WorkFlowButton>
<WorkFlowButton role="finish">Finish</WorkFlowButton>
</WorkFlow>
</div>
</Fragment>
);


private onNext = () =>
if (this.page.current)
this.page.current.handleSubmit();



private onFinish = () =>
this.setState(
dashboard: true
);



export default CreateEnvironment;


The corresponding container looks like:



import connect from 'react-redux';
import Dispatch from 'redux';
import
CreateEnvironmentAction,
updateEnvironmentWorkflow
from '../actions/CreateEnvironment';
import
CreateEnvironment,
DispatchProps,
StateProps
from '../components/create-environment';
import StoreState from '../types';
export const mapStateToProps = (
createEnvironment
: StoreState): StateProps => (
...createEnvironment
);

export const mapDispatchToProps = (
dispatch: Dispatch<CreateEnvironmentAction>
): DispatchProps => (
onFormValuesUpdate: (key: string, values: any) =>
dispatch(updateEnvironmentWorkflow(key, values));

);

export default connect<StateProps, DispatchProps>(
mapStateToProps,
mapDispatchToProps
)(CreateEnvironment);


All the components inside WorkflowPage like Environment are forms which use the Formik pattern.
A sample component is:



interface Props 
certificate?: CertificateStep;
onUpdate?: (key: string, value: any) => void;

class Certificate extends Component<Props>
private submitForm: (
e?: React.FormEvent<HTMLFormElement>

export default Certificate;


On clicking the next WorkflowButton the redux state is updated by passing an action updateEnvironmentWorkflow. The action is like:



export interface UpdateEnvironmentWorkflow 
type: Constants.UPDATE_ENVIRONMENT_WORKFLOW;
payload:
key: string;
value: any;
;


export type CreateEnvironmentAction = UpdateEnvironmentWorkflow;

export const updateEnvironmentWorkflow = (
key: string,
value: any
): UpdateEnvironmentWorkflow => (
payload: key, value ,
type: Constants.UPDATE_ENVIRONMENT_WORKFLOW
);


And my reducer is like:



const createEnvironment = (
state: CreateEnvironment = initialState.createEnvironment,
action: CreateEnvironmentAction
) =>
switch (action.type)
case Constants.UPDATE_ENVIRONMENT_WORKFLOW:
return
...state,
[action.payload.key]:
...state[action.payload.key],
formValues: action.payload.value

;
default:
return state;

;

export default createEnvironment;


Now the weird part is that if I click the next button the redux state is updated with new values. If I navigate to some other page and come back to create environment my form values are showing the updated values from the redux store state.



BUT if I just hit the previous button my state values are not showing updated values.
The console.log(formValues) inside render() of Certificate is showing initial values only.



Any help will be appreciated. Thanks.



Also initialValues of Form is Formik initialValues. It maybe a formik issue as well










share|improve this question



























    up vote
    0
    down vote

    favorite












    I have a weird scenario in which inside my redux dev-tools I can see that the redux state has been updated but that value is not being reflected in the component which is connected to that.



    So I have a component CreateEnvironment like



    export interface StateProps 
    environment: EnvironmentStep;
    selectProduct: SelectProductStep;
    eula: EULAStep;
    license: LicenseStep;
    infrastructure: InfrastructureStep;
    network: NetworkStep;
    certificate: CertificateStep;
    products: any;


    export interface DispatchProps
    onFormValuesUpdate: (key: string, value: any) => void;


    type Props = StateProps & DispatchProps;

    interface State
    dashboard: boolean;


    class CreateEnvironment extends Component<Props, State>
    private page: RefObject<any>;
    constructor(props: Props)
    super(props);
    this.state = dashboard: false ;
    this.page = React.createRef();

    public render()
    console.log("Hi"); //tslint:disable-line
    if (this.state.dashboard)
    return <Redirect to="/dashboard" />;

    const
    environment,
    eula,
    selectProduct,
    infrastructure,
    network,
    license,
    certificate,
    onFormValuesUpdate
    = this.props;
    return (
    <Fragment>
    <h2>Create Environment</h2>
    <div style= height: '100%', paddingBottom: '30px' >
    <WorkFlow
    orientation="vertical"
    onNext=this.onNext
    onFinish=this.onFinish
    >
    <WorkFlowPage pageTitle="Environment">
    <Environment
    environment=environment
    onUpdate=onFormValuesUpdate
    ref=this.page
    />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="Products & Solutions">
    <SelectProduct
    ref=this.page
    selectProduct=selectProduct
    onUpdate=onFormValuesUpdate
    />
    </WorkFlowPage>
    <WorkFlowPage
    pageNavTitle="EULA"
    pageTitle="End User License Agreement Details"
    >
    <Eula eula=eula ref=this.page onUpdate=onFormValuesUpdate />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="License">
    <License
    license=license
    ref=this.page
    onUpdate=onFormValuesUpdate
    />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="Infrastructure">
    <Infrastructure
    infrastructure=infrastructure
    ref=this.page
    onUpdate=onFormValuesUpdate
    />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="Network">
    <Network
    network=network
    ref=this.page
    onUpdate=onFormValuesUpdate
    />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="Certificate">
    <Certificate
    certificate=certificate
    ref=this.page
    onUpdate=onFormValuesUpdate
    />
    </WorkFlowPage>
    <WorkFlowPage pageTitle="Products">I am products step</WorkFlowPage>
    <WorkFlowPage pageTitle="Summary">I am summary step</WorkFlowPage>
    <WorkFlowButton role="previous">Back</WorkFlowButton>
    <WorkFlowButton role="next">Next</WorkFlowButton>
    <WorkFlowButton role="finish">Finish</WorkFlowButton>
    </WorkFlow>
    </div>
    </Fragment>
    );


    private onNext = () =>
    if (this.page.current)
    this.page.current.handleSubmit();



    private onFinish = () =>
    this.setState(
    dashboard: true
    );



    export default CreateEnvironment;


    The corresponding container looks like:



    import connect from 'react-redux';
    import Dispatch from 'redux';
    import
    CreateEnvironmentAction,
    updateEnvironmentWorkflow
    from '../actions/CreateEnvironment';
    import
    CreateEnvironment,
    DispatchProps,
    StateProps
    from '../components/create-environment';
    import StoreState from '../types';
    export const mapStateToProps = (
    createEnvironment
    : StoreState): StateProps => (
    ...createEnvironment
    );

    export const mapDispatchToProps = (
    dispatch: Dispatch<CreateEnvironmentAction>
    ): DispatchProps => (
    onFormValuesUpdate: (key: string, values: any) =>
    dispatch(updateEnvironmentWorkflow(key, values));

    );

    export default connect<StateProps, DispatchProps>(
    mapStateToProps,
    mapDispatchToProps
    )(CreateEnvironment);


    All the components inside WorkflowPage like Environment are forms which use the Formik pattern.
    A sample component is:



    interface Props 
    certificate?: CertificateStep;
    onUpdate?: (key: string, value: any) => void;

    class Certificate extends Component<Props>
    private submitForm: (
    e?: React.FormEvent<HTMLFormElement>

    export default Certificate;


    On clicking the next WorkflowButton the redux state is updated by passing an action updateEnvironmentWorkflow. The action is like:



    export interface UpdateEnvironmentWorkflow 
    type: Constants.UPDATE_ENVIRONMENT_WORKFLOW;
    payload:
    key: string;
    value: any;
    ;


    export type CreateEnvironmentAction = UpdateEnvironmentWorkflow;

    export const updateEnvironmentWorkflow = (
    key: string,
    value: any
    ): UpdateEnvironmentWorkflow => (
    payload: key, value ,
    type: Constants.UPDATE_ENVIRONMENT_WORKFLOW
    );


    And my reducer is like:



    const createEnvironment = (
    state: CreateEnvironment = initialState.createEnvironment,
    action: CreateEnvironmentAction
    ) =>
    switch (action.type)
    case Constants.UPDATE_ENVIRONMENT_WORKFLOW:
    return
    ...state,
    [action.payload.key]:
    ...state[action.payload.key],
    formValues: action.payload.value

    ;
    default:
    return state;

    ;

    export default createEnvironment;


    Now the weird part is that if I click the next button the redux state is updated with new values. If I navigate to some other page and come back to create environment my form values are showing the updated values from the redux store state.



    BUT if I just hit the previous button my state values are not showing updated values.
    The console.log(formValues) inside render() of Certificate is showing initial values only.



    Any help will be appreciated. Thanks.



    Also initialValues of Form is Formik initialValues. It maybe a formik issue as well










    share|improve this question

























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have a weird scenario in which inside my redux dev-tools I can see that the redux state has been updated but that value is not being reflected in the component which is connected to that.



      So I have a component CreateEnvironment like



      export interface StateProps 
      environment: EnvironmentStep;
      selectProduct: SelectProductStep;
      eula: EULAStep;
      license: LicenseStep;
      infrastructure: InfrastructureStep;
      network: NetworkStep;
      certificate: CertificateStep;
      products: any;


      export interface DispatchProps
      onFormValuesUpdate: (key: string, value: any) => void;


      type Props = StateProps & DispatchProps;

      interface State
      dashboard: boolean;


      class CreateEnvironment extends Component<Props, State>
      private page: RefObject<any>;
      constructor(props: Props)
      super(props);
      this.state = dashboard: false ;
      this.page = React.createRef();

      public render()
      console.log("Hi"); //tslint:disable-line
      if (this.state.dashboard)
      return <Redirect to="/dashboard" />;

      const
      environment,
      eula,
      selectProduct,
      infrastructure,
      network,
      license,
      certificate,
      onFormValuesUpdate
      = this.props;
      return (
      <Fragment>
      <h2>Create Environment</h2>
      <div style= height: '100%', paddingBottom: '30px' >
      <WorkFlow
      orientation="vertical"
      onNext=this.onNext
      onFinish=this.onFinish
      >
      <WorkFlowPage pageTitle="Environment">
      <Environment
      environment=environment
      onUpdate=onFormValuesUpdate
      ref=this.page
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Products & Solutions">
      <SelectProduct
      ref=this.page
      selectProduct=selectProduct
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage
      pageNavTitle="EULA"
      pageTitle="End User License Agreement Details"
      >
      <Eula eula=eula ref=this.page onUpdate=onFormValuesUpdate />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="License">
      <License
      license=license
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Infrastructure">
      <Infrastructure
      infrastructure=infrastructure
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Network">
      <Network
      network=network
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Certificate">
      <Certificate
      certificate=certificate
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Products">I am products step</WorkFlowPage>
      <WorkFlowPage pageTitle="Summary">I am summary step</WorkFlowPage>
      <WorkFlowButton role="previous">Back</WorkFlowButton>
      <WorkFlowButton role="next">Next</WorkFlowButton>
      <WorkFlowButton role="finish">Finish</WorkFlowButton>
      </WorkFlow>
      </div>
      </Fragment>
      );


      private onNext = () =>
      if (this.page.current)
      this.page.current.handleSubmit();



      private onFinish = () =>
      this.setState(
      dashboard: true
      );



      export default CreateEnvironment;


      The corresponding container looks like:



      import connect from 'react-redux';
      import Dispatch from 'redux';
      import
      CreateEnvironmentAction,
      updateEnvironmentWorkflow
      from '../actions/CreateEnvironment';
      import
      CreateEnvironment,
      DispatchProps,
      StateProps
      from '../components/create-environment';
      import StoreState from '../types';
      export const mapStateToProps = (
      createEnvironment
      : StoreState): StateProps => (
      ...createEnvironment
      );

      export const mapDispatchToProps = (
      dispatch: Dispatch<CreateEnvironmentAction>
      ): DispatchProps => (
      onFormValuesUpdate: (key: string, values: any) =>
      dispatch(updateEnvironmentWorkflow(key, values));

      );

      export default connect<StateProps, DispatchProps>(
      mapStateToProps,
      mapDispatchToProps
      )(CreateEnvironment);


      All the components inside WorkflowPage like Environment are forms which use the Formik pattern.
      A sample component is:



      interface Props 
      certificate?: CertificateStep;
      onUpdate?: (key: string, value: any) => void;

      class Certificate extends Component<Props>
      private submitForm: (
      e?: React.FormEvent<HTMLFormElement>

      export default Certificate;


      On clicking the next WorkflowButton the redux state is updated by passing an action updateEnvironmentWorkflow. The action is like:



      export interface UpdateEnvironmentWorkflow 
      type: Constants.UPDATE_ENVIRONMENT_WORKFLOW;
      payload:
      key: string;
      value: any;
      ;


      export type CreateEnvironmentAction = UpdateEnvironmentWorkflow;

      export const updateEnvironmentWorkflow = (
      key: string,
      value: any
      ): UpdateEnvironmentWorkflow => (
      payload: key, value ,
      type: Constants.UPDATE_ENVIRONMENT_WORKFLOW
      );


      And my reducer is like:



      const createEnvironment = (
      state: CreateEnvironment = initialState.createEnvironment,
      action: CreateEnvironmentAction
      ) =>
      switch (action.type)
      case Constants.UPDATE_ENVIRONMENT_WORKFLOW:
      return
      ...state,
      [action.payload.key]:
      ...state[action.payload.key],
      formValues: action.payload.value

      ;
      default:
      return state;

      ;

      export default createEnvironment;


      Now the weird part is that if I click the next button the redux state is updated with new values. If I navigate to some other page and come back to create environment my form values are showing the updated values from the redux store state.



      BUT if I just hit the previous button my state values are not showing updated values.
      The console.log(formValues) inside render() of Certificate is showing initial values only.



      Any help will be appreciated. Thanks.



      Also initialValues of Form is Formik initialValues. It maybe a formik issue as well










      share|improve this question















      I have a weird scenario in which inside my redux dev-tools I can see that the redux state has been updated but that value is not being reflected in the component which is connected to that.



      So I have a component CreateEnvironment like



      export interface StateProps 
      environment: EnvironmentStep;
      selectProduct: SelectProductStep;
      eula: EULAStep;
      license: LicenseStep;
      infrastructure: InfrastructureStep;
      network: NetworkStep;
      certificate: CertificateStep;
      products: any;


      export interface DispatchProps
      onFormValuesUpdate: (key: string, value: any) => void;


      type Props = StateProps & DispatchProps;

      interface State
      dashboard: boolean;


      class CreateEnvironment extends Component<Props, State>
      private page: RefObject<any>;
      constructor(props: Props)
      super(props);
      this.state = dashboard: false ;
      this.page = React.createRef();

      public render()
      console.log("Hi"); //tslint:disable-line
      if (this.state.dashboard)
      return <Redirect to="/dashboard" />;

      const
      environment,
      eula,
      selectProduct,
      infrastructure,
      network,
      license,
      certificate,
      onFormValuesUpdate
      = this.props;
      return (
      <Fragment>
      <h2>Create Environment</h2>
      <div style= height: '100%', paddingBottom: '30px' >
      <WorkFlow
      orientation="vertical"
      onNext=this.onNext
      onFinish=this.onFinish
      >
      <WorkFlowPage pageTitle="Environment">
      <Environment
      environment=environment
      onUpdate=onFormValuesUpdate
      ref=this.page
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Products & Solutions">
      <SelectProduct
      ref=this.page
      selectProduct=selectProduct
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage
      pageNavTitle="EULA"
      pageTitle="End User License Agreement Details"
      >
      <Eula eula=eula ref=this.page onUpdate=onFormValuesUpdate />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="License">
      <License
      license=license
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Infrastructure">
      <Infrastructure
      infrastructure=infrastructure
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Network">
      <Network
      network=network
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Certificate">
      <Certificate
      certificate=certificate
      ref=this.page
      onUpdate=onFormValuesUpdate
      />
      </WorkFlowPage>
      <WorkFlowPage pageTitle="Products">I am products step</WorkFlowPage>
      <WorkFlowPage pageTitle="Summary">I am summary step</WorkFlowPage>
      <WorkFlowButton role="previous">Back</WorkFlowButton>
      <WorkFlowButton role="next">Next</WorkFlowButton>
      <WorkFlowButton role="finish">Finish</WorkFlowButton>
      </WorkFlow>
      </div>
      </Fragment>
      );


      private onNext = () =>
      if (this.page.current)
      this.page.current.handleSubmit();



      private onFinish = () =>
      this.setState(
      dashboard: true
      );



      export default CreateEnvironment;


      The corresponding container looks like:



      import connect from 'react-redux';
      import Dispatch from 'redux';
      import
      CreateEnvironmentAction,
      updateEnvironmentWorkflow
      from '../actions/CreateEnvironment';
      import
      CreateEnvironment,
      DispatchProps,
      StateProps
      from '../components/create-environment';
      import StoreState from '../types';
      export const mapStateToProps = (
      createEnvironment
      : StoreState): StateProps => (
      ...createEnvironment
      );

      export const mapDispatchToProps = (
      dispatch: Dispatch<CreateEnvironmentAction>
      ): DispatchProps => (
      onFormValuesUpdate: (key: string, values: any) =>
      dispatch(updateEnvironmentWorkflow(key, values));

      );

      export default connect<StateProps, DispatchProps>(
      mapStateToProps,
      mapDispatchToProps
      )(CreateEnvironment);


      All the components inside WorkflowPage like Environment are forms which use the Formik pattern.
      A sample component is:



      interface Props 
      certificate?: CertificateStep;
      onUpdate?: (key: string, value: any) => void;

      class Certificate extends Component<Props>
      private submitForm: (
      e?: React.FormEvent<HTMLFormElement>

      export default Certificate;


      On clicking the next WorkflowButton the redux state is updated by passing an action updateEnvironmentWorkflow. The action is like:



      export interface UpdateEnvironmentWorkflow 
      type: Constants.UPDATE_ENVIRONMENT_WORKFLOW;
      payload:
      key: string;
      value: any;
      ;


      export type CreateEnvironmentAction = UpdateEnvironmentWorkflow;

      export const updateEnvironmentWorkflow = (
      key: string,
      value: any
      ): UpdateEnvironmentWorkflow => (
      payload: key, value ,
      type: Constants.UPDATE_ENVIRONMENT_WORKFLOW
      );


      And my reducer is like:



      const createEnvironment = (
      state: CreateEnvironment = initialState.createEnvironment,
      action: CreateEnvironmentAction
      ) =>
      switch (action.type)
      case Constants.UPDATE_ENVIRONMENT_WORKFLOW:
      return
      ...state,
      [action.payload.key]:
      ...state[action.payload.key],
      formValues: action.payload.value

      ;
      default:
      return state;

      ;

      export default createEnvironment;


      Now the weird part is that if I click the next button the redux state is updated with new values. If I navigate to some other page and come back to create environment my form values are showing the updated values from the redux store state.



      BUT if I just hit the previous button my state values are not showing updated values.
      The console.log(formValues) inside render() of Certificate is showing initial values only.



      Any help will be appreciated. Thanks.



      Also initialValues of Form is Formik initialValues. It maybe a formik issue as well







      reactjs redux react-redux formik






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 10 at 16:39

























      asked Nov 10 at 16:11









      Varun Sharma

      106




      106



























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240834%2freact-redux-mapstatetoprops-values-not-updated%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240834%2freact-redux-mapstatetoprops-values-not-updated%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Barbados

          How to read a connectionString WITH PROVIDER in .NET Core?

          Node.js Script on GitHub Pages or Amazon S3