2017-11-25 92 views
0

我想通過這個功能:傳遞函數爲將被執行的參數後

const upgradeAction =() => (
    (dispatch) => { 
    closeModal('modal') 
    dispatch(showUserInfo()) 
    } 
) 

如下參數:

export const checkComplete =() => (
    (dispatch, getState) => { 
    dispatch(openModal('modalname', { 
     buttonAction: upgradeAction, 
    })) 
    } 
) 

checkComplete被稱爲上點擊一個按鈕。但是現在當按鈕被點擊時,什麼都不起作用。我試圖在upgradeAction上使用return,但沒有任何工作,checkComplete什麼都不做。我究竟做錯了什麼?!

+0

你怎麼重視'checkComplete'到點擊收聽? –

回答

1

您正在使用redux中間件(可能爲redux-thunk)來處理函數操作。當函數發送時,中間件檢測到該函數,並用dispatchsetState調用它。

當模式執行buttonAction時,它不派遣它。您需要手動提供dispatch,當按鈕將調用該操作時,它將被分派。

const upgradeAction = (dispatch) =>() => { 
 
    closeModal('modal') 
 
    dispatch(showUserInfo()) 
 
}; 
 

 
export const checkComplete =() => (dispatch, getState) => { 
 
    dispatch(openModal('modalname', { 
 
    buttonAction: upgradeAction(dispatch), 
 
    })) 
 
}

+0

你真是天才,謝謝你的解釋,我正在使用redux-thunk這就是問題所在。 –

+0

@ theoni.n - 歡迎:) –

相關問題