经过几个小时的尝试,我必须来这里......
我面临的问题是我无法发送行动,但我已成功致电我的行动创作者。
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);
但是这个东西没有派出行动。请帮忙。如果您想要我的其他信息,请告诉我。提前谢谢。
答案 0 :(得分:2)
您应该更改mapDispatchToProps
,以便在那里使用发送。
function mapDispatchToProps(dispatch) {
return {
changeForm: newState => dispatch(loginActions.changeForm(newState))
}
}
动作创建者不需要dispatch
。
const changeForm = newState => (
{ type: actionTypes.CHANGE_FORM, payload: newState }
)