Как обработать обновление состояния после избыточного диспетчерского действия в функции внутри компонента класса? - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь удалить команду, когда пользователь нажимает кнопку. Функциональность работает хорошо, но сейчас я нахожусь в фазе, когда я хочу отправить правильное уведомление пользователю.

Я управляю своими оповещениями в избыточной форме, например, если операция удаления не выполнена или мое состояние завершилось успешно будет обновляться с фактическим состоянием оповещения.

Моя проблема в том, что когда я запускаю событие click, состояние не изменяется, и пользователь получает старое уведомление о предупреждении. Когда команда удаляется в конце, состояние меняется, как и ожидалось.

onDelete = () => {
  // Here i am dispatching a action to delete the team, which is working fine and updates the state
  this.props.deleteTeam(this.state.team);

  // So here i want to check if the action was succesfull, but it is the old value of the state
  if (this.props.alert.type === 'success') {
       this.hideModalHandler();

       // Same here i am sending the old alert message to the user
       alertService.success(this.props.alert.message, false, false);
  }
};

Итак, мой вопрос: есть ли способ заставить функцию ждать, пока состояние не будет обновлено, чтобы я мог использовать фактическое состояние, а не старое. Я пытался использовать asyn c await, но, к сожалению, это не работает.

Ваша помощь приветствуется, thnx.

1 Ответ

0 голосов
/ 07 апреля 2020

Вам, вероятно, лучше иметь обработчик предупреждений как само по себе действие. Таким образом, он может запросить getState (), чтобы получить самые свежие данные. Также делает его более пригодным для повторного использования, если вам нужно проверить состояние оповещения в другом месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...