Отправка дальнейших действий при обработке действий

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

Действие отправляется в ответ на ответ HTTP, что-то вроде:

type: 'auth'
data: { username: 'tom' }

Поскольку этот ответ был успешным, я хочу отправить действие, чтобы отправить пользователя на домашнюю страницу:

type: 'navigate'
date: { where: 'home' }

Это кажется мне разумным потоком: это случилось, и теперь я хочу, чтобы это произошло. Проблема в том, что Flux Dispatcher не позволяет этого, поскольку мы все еще находимся в цикле отправки. Я понимаю, почему отправка во время отправки - плохая идея.

Некоторые люди решили это с несколькими диспетчерами, хотя авторы Flux уверены, что вам нужен только один и вам нужно переосмыслить свои магазины.

Я не понимаю, как я мог бы реструктурировать свои магазины, чтобы облегчить это, не запутывая намерения. мойUserStore знает оauth действия и мойRouteStore знает оnavigate действия. Буду признателен за любые предложения о том, как магазины могут быть изменены, чтобы облегчить это.

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

Каков наилучший выход из этого?

Ответы на вопрос(2)

Ваш ответ на вопрос