React-Redux: возможен бесконечный цикл отправки при входе в систему (запускается после обновления сценариев реакции до 3.1.2) - PullRequest
0 голосов
/ 13 января 2019

У меня есть приложение TicTacToe, которое использует React-Redux. В приложении пользователь может создать имя пользователя и пароль, а также войти в систему - приложение отслеживает статистику пользователя таким образом. Я обновил скрипты реагирования до версии 3.1.2 и с тех пор не могу войти в свое приложение. При входе в систему выдается следующая ошибка: «Превышена максимальная глубина обновления. Это может произойти, когда компонент повторно вызывает setState внутри componentWillUpdate или componentDidUpdate. React ограничивает количество вложенных обновлений для предотвращения бесконечных циклов.»

Проблема в моем файле действий аутентификации, строки 42 и 66, в котором хранится токен аутентификации (весь файл доступен для просмотра https://github.com/kmid5280/react-tictactoe-capstone/blob/master/src/actions/auth.js):

  39 | const storeAuthInfo = (authToken, dispatch) => {
  40 |     const decodedToken = jwtDecode(authToken);
  41 |     dispatch(setAuthToken(authToken));
> 42 |     dispatch(authSuccess(decodedToken.user));
  43 |     saveAuthToken(authToken);
  44 |     
  45 | };

  65 | .then(res => normalizeResponseErrors(res))
  66 | .then(res => res.json())
> 67 | .then(({authToken}) => storeAuthInfo(authToken, dispatch))
     | ^  68 | .catch(err => {
  69 |     const {code} = err;
  70 |     const message =

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

Любые советы будут оценены. Спасибо!

РЕДАКТИРОВАТЬ: следующая ошибка появляется в консоли после цикла:

The above error occurred in the <Route> component:
in Route (at App.js:57)
in main (at App.js:53)
in div (at App.js:49)
in Router (created by BrowserRouter)
in BrowserRouter (at App.js:48)
in App (created by Connect(App))
in Connect(App) (at index.js:11)
in Provider (at index.js:10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...