2016-06-03 3 views
0

Я пытаюсь понять поток приложений в приложении реакции-редукта по отношению к логину.Понимание потока принятия решений в приложении с реакцией-редукцией

  • состояния приложения поддерживается Redux содержит логическое значение под названием loggedIn, которое изначально false.
  • Основываясь на состоянии loggedIn, являющемся false, на главном экране приложения отображается панель входа, содержащая поля username и password, в которые пользователь вводит учетные данные.
  • Кнопка login на панели входа вызывает создателя действия, передавая учетные данные.
  • Создатель действия запускает асинхронный вызов AJAX к API входа в систему.
  • Обещание промежуточного программного обеспечения, такого как redux-обещание, перехватывает обещание и заменяет полезную нагрузку с ответом от сервера. Между тем сервер проверяет учетные данные и возвращает «200 Ok» или «401 Unauthorized», если это необходимо.
  • Редуктор действия проверяет ответ в полезной нагрузке действия и устанавливает значение состояния loggedIn (false для «401» и true для «200»).
  • Главный экран приложения снова отображает панель входа в систему, если состояние loggedIn равно false или панель с успешным входом в систему, если она равна true.

Имеет ли смысл этот поток? Является ли это идиоматическим способом обработки входа в одностраничное приложение реакции-сокращения? Есть ли способ лучше?

ответ

1

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

  1. Сохраните маркер аутентификации для локального хранения данных, в противном случае пользователь будет зарегистрирован, если вы обновите страницу, потому что LoggedIn будет сбросьте значение false. Затем вам необходимо перезагрузить токен, когда приложение перезагрузится и проверьте, что токен по-прежнему действителен.

  2. У меня также был бы loginErrorMessage, чтобы отображать на сервере любые сообщения об ошибках.

+0

Спасибо. В этом есть смысл. – Ralph

Смежные вопросы