我有一些简单的中间件,可以正常工作但也不能正常工作
基本上我有一个用户列表,我想删除一个。然后将其与 firebase 同步。一切都很好。
我正在添加一些中间件,以便当用户删除一个中间件时,它会询问您是否确定?(alert现在只使用一个简单的)。如果您单击取消,它不会删除。如果你点击确定它会
到目前为止,这是有效的,但由于我的动作创建者,它仍在继续并删除用户。这是一些代码:
// 点击删除用户
<button
onClick={() =>
this.props.deleteUserFromStoreThenUpdateFirebase(user)
}
>
调用此方法我认为这里发生了一些奇怪的事情,基本上deletedUserFromFirebase如果我点击取消,它不应该调用该方法
export const deleteUserFromStoreThenUpdateFirebase = user => {
return (dispatch, getState) => {
return dispatch(deleteUser(user)).then(() => {
return deleteUserFromFirebase(user);
})
};
};
export const deleteUser = user => {
return async dispatch => {
dispatch({ type: DELETE_USER, user: user, reqConfirm: true });
};
};
中间件:
const confirmMiddleware = store => next => action => {
if(action.reqConfirm){
if(confirm('are you sure?')){
next(action)
}
}
else {
next(action)
}
}