У меня есть какое-то простое промежуточное ПО, которое вроде работает, но тоже не работает
В основном у меня есть список пользователей, и я пытаюсь удалить его. а затем синхронизировать его с 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)
}
}