动作创建者不分派动作

时间:2017-07-08 08:37:40

标签: reactjs redux

经过几个小时的尝试,我必须来这里......

我面临的问题是我无法发送行动,但我已成功致电我的行动创作者。

loginActions文件中的我的Action Creator

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);

但是这个东西没有派出行动。请帮忙。如果您想要我的其他信息,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:2)

您应该更改mapDispatchToProps,以便在那里使用发送。

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

动作创建者不需要dispatch

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