2017-07-08 59 views
0

的努力,我來到這裏幾個小時後...行動的創建者

我現在面臨的問題是,我不能夠派遣我的動作,雖然我能夠成功調用我的行動創造者。

我的行動造物主在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); 

,我路過這在我的表單組件這樣

常量changeForm =這.props.changeForm;

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

在我的部分,我做這樣的事情與newState

this.props.changeForm(newState);

但這東西不派遣的行動。請幫忙。讓我知道如果你想要我的額外信息。提前致謝。

+0

您的changeForm函數是否會觸發? –

回答

2

您應該更改mapDispatchToProps,以便您在那裏使用分派。

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

並且動作創建者不需要dispatch

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

非常感謝你.....你是我的英雄。它像一個魅力。 – utkarsh