【问题标题】:Action creator in not dispatching an action动作创建者不分派动作
【发布时间】:2017-12-12 13:06:57
【问题描述】:

经过几个小时的尝试,我不得不来到这里......

我面临的问题是我无法调度我的动作,尽管我能够成功地调用我的动作创建者。

loginActions 文件中的我的动作创建者

const changeForm = (newState) => (dispatch) => {
    dispatch({ type: actionTypes.CHANGE_FORM, newState });
};

在我的组件中,我已经导入了 loginActions

function mapDispatchToProps(dispatch) {
  return {
    login: loginActions.loginCheck,
    changeForm: loginActions.changeForm
  };
}

export default connect(mapStateToProps,mapDispatchToProps)(LoginPage);

我像这样在我的表单组件中传递它

const changeForm = this.props.changeForm;

<Form data={data}
      changeForm={changeForm}
      onSubmit={onSubmit}
      btnText={"Login"}
      currentlySending={currentlySending}/>

在我的组件中,我正在使用 newState 做类似的事情

this.props.changeForm(newState);

但是这东西在不调度动作。请帮忙。让我知道您是否希望我获得更多信息。提前致谢。

【问题讨论】:

  • 你的 changeForm 函数会被触发吗?

标签: reactjs redux


【解决方案1】:

您应该更改mapDispatchToProps 以便在那里使用调度。

function mapDispatchToProps(dispatch) {
  return {
    changeForm: newState => dispatch(loginActions.changeForm(newState))
  }
}

并且动作创建者不需要dispatch

const changeForm = newState => (
    { type: actionTypes.CHANGE_FORM, payload: newState }
)

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 2016-02-24
    • 2018-11-23
    相关资源
    最近更新 更多