我想传递这个功能:
const upgradeAction = () => (
(dispatch) => {
closeModal('modal')
dispatch(showUserInfo())
}
)
作为参数:
export const checkComplete = () => (
(dispatch, getState) => {
dispatch(openModal('modalname', {
buttonAction: upgradeAction,
}))
}
)
单击按钮时调用checkComplete。但是现在单击按钮时无效。我尝试在upgradeAction上使用return,但没有任何作用,checkComplete什么都不做。我做错了什么?!
答案 0 :(得分:1)
您正在使用redux中间件(可能是redux-thunk)来处理函数操作。当一个函数被调度时,中间件会检测到该函数,并使用dispatch
和setState
来调用它。
当模态执行buttonAction
时,它不会发送它。您需要手动提供dispatch
,当按钮调用操作时,它将被调度。
const upgradeAction = (dispatch) => () => {
closeModal('modal')
dispatch(showUserInfo())
};
export const checkComplete = () => (dispatch, getState) => {
dispatch(openModal('modalname', {
buttonAction: upgradeAction(dispatch),
}))
}