Я начал играть с реакцией через flummox, react-bootstrap и react-router. Я пытаюсь создать базовую изоморфную CMS для своих сайтов.
Контекст:
Что касается аутентификации, у каждого пользователя есть список возможностей, и каждый компонент использует метод моего хранилища аутентификации, который «может» отображаться или нет, и т. д.
У меня есть пользовательская навигационная панель вверху, видимая на каждой странице, обрабатываемой reat-router, с кнопкой входа/выхода, которая в основном отображается при нажатии модального окна с формой входа, если пользователь не вошел в систему, иначе подтверждение выхода.
Когда пользователь входит в систему, я хочу, чтобы компоненты на отображаемой в данный момент странице обновлялись (то же самое для выхода из системы).
Вот пример со страницей, которая отображает список, который может просматривать только аутентифицированный пользователь с соответствующими правами:
Процесс:
- Когда пользователь отправляет форму, я вызываю действие
- Действие отправляет запрос на сервер
- Действие регистрируется хранилищем аутентификации, которое обновляет его currentUser.
- Компонент имеет свойство currentUser и использует componentWillReceiveProps, чтобы проверить, изменилось ли это свойство, и вызвать действие для запроса списка.
- действие регистрируется магазином, который обновляет свои товары
Проблема: не удается отправить в середине отправки
Взлом: второе действие помещается в setTimeout.
Вопросы. Я читал много ответов об этой конкретной проблеме, и говорят, что вызов двух действий в одном и том же цикле диспетчера является плохой схемой. Итак, мой вопрос: есть ли лучший способ спроектировать этот процесс?
P.S. : Я могу опубликовать код, если это необходимо.
.then()
активировать. - person Henrik Andersson   schedule 10.06.2015