Как правильно закрыть запрос Axios в приложении «Реакция редукса»? - PullRequest
0 голосов
/ 26 ноября 2018

Имея реагирующее & redux приложение, которое использует асинхронные вызовы через Axios , мне нужно отменить такой запрос, который все еще выполняется, как только пользователь перейдет к другомустраница или что-нибудь еще.Будучи новичком в реагировании, у меня возникла идея, чтобы держать axios cancelToken в избыточном состоянии и отменять его в componentWillUnmount() компонента реагирования.

пример:

componentWillUnmount() {
  const (isLoading, cancelToken} = this.props;
  if (isLoading) {
    cancelToken.cancel("Abort request");
  }
}

Есть ли лучшие шаблоны или решения для этого?

РЕДАКТИРОВАТЬ: асинхронный вызов запускается в Redun-Thunk, т. Е. Действие

1 Ответ

0 голосов
/ 26 ноября 2018

Это зависит от того, где вы реализовали вашу выборку.

Если вы поместили его в свой компонент, вы можете запустить событие отмены в методе componentWillUnmount.

Если вы поместили его в промежуточное ПО, такое как redux-saga, вы можетезатем создайте и используйте токен отмены.

Если он находится внутри создателя действия, вы можете попробовать предложенный метод здесь

...